javascript - 仅在某些页面上执行 jquery 效果/操作

标签 javascript jquery

到目前为止,我一直将所有 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/

相关文章:

javascript - Ajax.BeginForm 中的两个提交按钮。需要在OnSuccess中调用不同的js函数

javascript - 如何使用JavaScript更改YouTube视频播放器设置

javascript - Netsuite SSv2 如何更新已保存搜索的过滤器

javascript - 使用 import 而不是 require 时找不到模块

javascript - 我如何获得这种类型的移动背景(见图)?

javascript - Bootstrap 4 列大小在 Google Chrome 中不起作用

jquery - 如何定位未被jquery隐藏的元素

javascript - 为什么 jQuery 这里需要 `getWindow(doc)` ?

javascript - 使用 jQuery、CSS 或两者来扩展 DIV 解决方案?

jquery - 在可滚动的 div 中水平拖动表格(或其他内容)