- html - 出于某种原因,IE8 对我的 Sass 文件中继承的 html5 CSS 不友好?
- JMeter 在响应断言中使用 span 标签的问题
- html - 在 :hover and :active? 上具有不同效果的 CSS 动画
- html - 相对于居中的 html 内容固定的 CSS 重复背景?
我正在为我的网页使用 justifiedGallery。当我第一次访问该页面时,图库会正确显示。但是当我重新加载页面时,它就会崩溃。
我正在使用 Meteor 和 React。
旧代码示例:
$(document).ready(() => {
$('#gallery').justifiedGallery({
rowHeight: 400,
fixedHeight: false,
lastRow: 'justify',
margins: -3,
});
});
我已将其放入 jQuery setTimeOut() 函数中。
setTimeout(function(){
$('#gallery').justifiedGallery({
rowHeight: 400,
fixedHeight: false,
lastRow: 'justify',
margins: -3,
});
}, 100);
现在一切正常。我只需要知道这是修复它的正确方法吗?这是为了将来的证明。
最佳答案
你永远不应该像这样运行全局操作 DOM 的代码。您得到的是实际模板渲染的竞争条件。这有时会随机工作,有时随机不工作,并且总是会与模板引擎发生冲突,这最多会影响应用程序的性能。
将图库创建移至 Template.onRendered()
方法并使用 this.$('.gallery')
而不是仅 $('#gallery ')
。如果您使用的是 React,则等效位置是包含 .gallery
div 的演示组件的 componentDidMount
方法。
旁注:不要使用 id 进行元素选择,使用类或数据属性。 Id 是一种不好的做法,因为您创建的组件不可重用,并且可能存在性能问题。
关于jquery - 重新加载时合理的图库中断,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/36686138/
我有一个曾经是 TreeView 控件的菜单,但现在我想让每个项目更加直观,并向树中的每个对象添加更多信息。 我的第一个意图是制作一个代表项目的用户控件,并在运行时将它们添加到面板中。这是一个好方法吗
我是 Docker 新手,想知道是否有可能(并且是一个好主意)在 Docker 容器中进行开发。我的意思是创建一个容器,执行 bash,安装和配置我需要的一切,然后开始在容器内进行开发。 容器将成为我
在 Java 中: Parent obj = new Child(); 我创建了一个 Parent 类型的对象。我假设我只能调用父类中定义的方法。因此,我无法调用 Child 中定义的“附加”方法或访
注意:我省略了其他两个阶段(V 和 W)的代码,示例中不需要。 我很确定,我这样处理“开”和“关”时间的方式并不是一种有效的方式。 我想使用查找表实现“开”和“关”脉动。计时器应与表的当前选定值进行比
当代码中包含 Java instanceof 运算符时,许多人会扬起眉毛并说这是禁忌。例如,在这个 other SO Q&A ,答案说: Note that if you have to use th
我是一名优秀的程序员,十分优秀!