【发布时间】:2015-10-25 03:40:05
【问题描述】:
在 Meteor 中使用 Isotope 插件时,Isotope 始终将 height: 0 样式应用于 Isotope div .grid-container。这可能是由于插件在加载图像之前初始化。在控制台中手动运行 $('.grid-container').isotope() 会导致 Isotope 使 div 可见。
问题: 怎样才能在 div .item 中的所有图片都加载完毕后才触发插件初始化?从Template.name.rendered 中调用Isotope 的imagesLoaded 方法似乎不起作用。
main.js
Template.main.rendered = function () {
$('.grid-container').imagesLoaded(function() {
$('.grid-container').isotope({
itemSelector: '.item',
layoutMode: 'masonry',
masonry: {
columnWidth: 200
}
})
})
};
main.html
<template name="main">
<div class="grid-container">
{{#each items}}
{{> item}}
{{/each}}
</div>
</template>
【问题讨论】:
-
你找到答案了吗?我也有同样的问题...
-
在处理 Backbone 中的相同问题时,我只是使用了一个中间 DOM 元素来保存项目。加载项目后,您将附加到容器。不是 Meteor 特有的,但应该在这里工作。
-
@Brandon 听起来很有趣,你能举个例子吗?
-
@Nyxynyx 你能让这个工作吗?我希望我的回答让您朝着正确的方向前进。
标签: javascript jquery meteor jquery-masonry jquery-isotope