Javascript 使用mustache模板实现无休止滚动时出现DOM异常8错误&;jquery砌体
我正在实现受本教程影响很大的无休止的滚动效果: 但是,我的做法略有不同,因为我使用的是Jquery(http://masonry.desandro.com/demos/adding-items.html)在前端 无论如何,当我按如下方式实现时:Javascript 使用mustache模板实现无休止滚动时出现DOM异常8错误&;jquery砌体,javascript,ruby-on-rails-3.1,coffeescript,mustache,jquery-masonry,Javascript,Ruby On Rails 3.1,Coffeescript,Mustache,Jquery Masonry,我正在实现受本教程影响很大的无休止的滚动效果: 但是,我的做法略有不同,因为我使用的是Jquery(http://masonry.desandro.com/demos/adding-items.html)在前端 无论如何,当我按如下方式实现时: jQuery -> window.endlessScroll = () -> if $('#products_page').length new ProductPager class ProductPager
jQuery ->
window.endlessScroll = () ->
if $('#products_page').length
new ProductPager
class ProductPager
constructor: ->
$(window).scroll(@check)
check: =>
if @nearBottom()
$(window).unbind('scroll', @check)
$.getJSON($('#products_page').data('json-url'), @render)
nearBottom: =>
$(window).scrollTop() > $(document).height() - $(window).height() - 150
render: (products) =>
boxes= []
$container = $('#products_page')
for product in products
boxes.push Mustache.render $('#mustache_product').html(), product
$container.append(boxes).masonry "appended", boxes
$(window).scroll(@check)
我得到以下错误(Chrome):
未捕获错误:未找到错误:DOM异常8
我认为问题在于:
boxes.push Mustache.render $('#mustache_product').html(), product
因为这会将每个模板输出包装在“引号”中,即
[“东西”,“更多东西”]
而不是:
[<div>stuff</div>,<div>more stuff</div>]
[东西,更多东西]
但是对于我做错了什么,我有点心神不宁。。。。有人愿意帮忙吗?我通过更密切地遵循砌体网站上的示例来实现这一点,结果是:
.
.
.
boxMaker.makeBoxes = ->
boxes = []
for product in products
box = document.createElement("div")
template = Mustache.render $('#mustache_product').html(), product
box.className = "box"
box.innerHTML = template
boxes.push box
boxes
$boxes = $(boxMaker.makeBoxes())
.
.
.
boxMaker.makeBoxes = ->
boxes = []
for product in products
box = document.createElement("div")
template = Mustache.render $('#mustache_product').html(), product
box.className = "box"
box.innerHTML = template
boxes.push box
boxes
$boxes = $(boxMaker.makeBoxes())