使用带有Masonry的Django无尽分页
Using Django Endless Pagination with Masonry
我正在尝试使用带有Masonry的Django无尽分页。
我一直面临的问题是,Masonry在第一个页面上运行良好,但当页面中填充新数据时,Masony不适用于新加载的元素。我考虑过添加项目,但我认为在这种情况下这对我没有帮助。
那么,一旦加载了新元素,他们是否可以重新初始化砖石结构?
我只是想知道是否还有其他人也有类似的问题,是否有人能解决这个问题?
如果有人遇到类似的问题,我最终找到了解决方案。我最终使用了.masonry('reload')
。在endless_on_roll之后,只需再次调用重载函数就更容易了。它解决了问题!
onCompleted
回调。在那里,执行以下操作:
var masonry = $(myMasonryObject).data('masonry');
if (masonry !== undefined) {
masonry.reloadItems();
masonry.layout();
}
在上面的决定中,我发现了一些问题。当我滚动到页面末尾时,我看到了一些工件(项目相互叠加或在页脚上)。
我想,这是因为我们在加载图像之前调用了masonry.reloadItems()或其他什么,而项目还没有真正的大小。
这个解决方案可以解决这个问题:
<script type="application/javascript">
$.endlessPaginate({
paginateOnScroll: true,
paginateOnScrollMargin: 3840,
onCompleted: function(context, fragment) {
$(document).ready(function () {
var gallery = $('.gallery');
gallery.imagesLoaded(function () {
var masonry = gallery.data('masonry');
if (masonry !== undefined) {
masonry.reloadItems();
masonry.layout();
}
});
});
}
});
</script>
相关文章:
- 在javascript点击事件中调用django-urls
- Django: AJAX + CSRF POST gives 403
- 我的django模板布尔变量是't在javascript中按预期工作
- django模板没有在AJAX发布后重新加载
- jsi18n-django.catogue没有'不包含任何已翻译的字符串(但是djangojs.mo包含)
- 设计Django中当前导航菜单项的样式
- Django可以'不能在设置中导入ckeditor,但可以在shell中导入
- 如何在不使用ajax的情况下将pair值添加到数组并发送到django中的视图
- Django'支持Javascript文件中的翻译
- Django导航:扩展与innerHTML
- 为什么datetime.strptime在使用Django运行时会抛出错误
- django出现神秘的javascript错误
- 如何从django中的url解析javascript字符串
- Django在使用AJAX时没有接收到新的查询字符串
- django没有访问控制允许删除原始标头
- AJAX在Django的外部JS文件中发布
- 从Django中同一页面上的多个按钮启动AJAX请求
- Django无法通过urls.py配置找到djangular/app.js文件.如何进行故障排除
- 在django表单集中添加/删除表单的Javascript
- 使用带有Masonry的Django无尽分页