到目前为止,我一直将所有 jquery 代码放在 document.ready 函数中。我认为在某些情况下,这不是最好的方法。
例如:如果我想在某个页面加载时执行动画,最好的方法是什么。
$(document).ready(function() {
$("#element_1").fadeIn();
$("#element_2").delay('100').fadeIn();
$("#element_3").delay('200').fadeIn();
});
如果它就在 document.ready 中,那么每次加载 ANY 页面时,它都会检查每一行并查找该元素。告诉 jquery 只在特定页面上执行一段代码以避免此问题的最佳方法是什么。
最佳答案
通过在执行动画之前检查页面上是否存在元素
if ($("#element-1").length) {
$("#element-1").fadeIn();
}
以此类推其他元素 #element_2
和 #element_3
致@numediaweb:
当前的 jQuery is()
实现如下所示
is: function( selector ) {
return !!selector && jQuery.filter( selector, this ).length > 0;
},
因此,使用 is()
会更聪明,但仅使用 length
会更快,而使用 document.getElementById() 会更快。长度
关于javascript - 仅在某些页面上执行 jquery 效果/操作,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/2745894/