`

改变多个jquery.ready的默认顺序

阅读更多
$(document).ready
这个函数的解释:
引用

Description: Specify a function to execute when the DOM is fully loaded.

version added: 1.0.ready( handler )
handler
Type: Function()
A function to execute after the DOM is ready.
While JavaScript provides the load event for executing code when a page is rendered, this event does not get triggered until all assets such as images have been completely received. In most cases, the script can be run as soon as the DOM hierarchy has been fully constructed. The handler passed to .ready() is guaranteed to be executed after the DOM is ready, so this is usually the best place to attach all other event handlers and run other jQuery code. When using scripts that rely on the value of CSS style properties, it's important to reference external stylesheets or embed style elements before referencing the scripts.

In cases where code relies on loaded assets (for example, if the dimensions of an image are required), the code should be placed in a handler for the load event instead.

The .ready() method is generally incompatible with the <body onload=""> attribute. If load must be used, either do not use .ready() or use jQuery's .load() method to attach load event handlers to the window or to more specific items, like images.

改变顺序的办法
引用

However, a quick look at the $(document).ready() internals shows a way to get what we want.

ready: function(fn) {
  // Attach the listeners
  bindReady();

  // If the DOM is already ready
  if ( jQuery.isReady )
    // Execute the function immediately
    fn.call( document, jQuery );

  // Otherwise, remember the function for later
  else
    // Add the function to the wait list
    jQuery.readyList.push( fn );

  return this;
},
It's not really important to understand everything that's going on here, so don't worry about the Javascript. First, the function tells the browser to alert jQuery when it's done loading. Next, it checks if the browser is already ready, to see if you're running a function long after the page has already loaded. If the page is ready, jQuery will just run the function immediately. But if the page hasn't finished loading (the usual case for $(document).ready() logic), your function gets put on the end of a jQuery.readyList array. This is what we're after.

Before the page is finished loading, all of the functions added through $(document).ready() are put on the jQuery.readyList variable. If you want to change the order in which these functions are executed, all you have to do is alter this array.

Here's what it would look like to put your function at the front of the line for execution:

// Adding a function to $(document).ready() the regular way
$(document).ready(function() {
  // processing happens here
});

// Adding a function to the front of the list
$.readyList.unshift(function() {
  // processing here
});
Of course, this shouldn't be overused. Other jQuery authors expect functions to run in the order they're added, so they might be thrown off if the readyList is modified too much. Still, a small change like this can save a lot of headache in the right situation.

$(document).ready函数会在所有的js文件加载完成后执行
分享到:
评论

相关推荐

    jquery.dragsort.js

    例如,你可能有一个包含多个项目的列表,用户可以通过直接拖拽这些项目来调整它们的顺序。这一特性尤其适用于那些需要用户自定义顺序的场景,如任务列表、日程安排或者产品展示等。 要使用jQuery Dragsort,首先...

    滚动条插件---jquery.nicescroll.js

    **jQuery.nicescroll.js** 是一个著名的 jQuery 插件,专为网页滚动条设计,旨在提供美观且功能丰富的用户体验。这个插件的核心优势在于它的易用性和广泛的浏览器兼容性,无需额外的 CSS 文件,即可在几乎所有的现代...

    jquery.dragsort 拖拽排序

    jQuery.dragSort 提供了多个事件回调函数,以便开发者可以自定义拖放过程中的行为: - `dragStart`: 当用户开始拖动元素时触发,参数为元素对象和触发事件的鼠标位置。 - `drag`: 在拖动过程中持续触发,参数同上。...

    一款简单兼容性好无限树插件jquery.simple.tree(已修改)

    - **拖放排序**:允许用户通过拖放操作改变节点顺序。 - **搜索功能**:内置搜索框,方便用户查找特定节点。 - **多选模式**:支持多选节点,便于批量操作。 - **异步加载**:对于大数据量的树,可以实现按需加载,...

    jQuery旋转

    例如,我们可以创建一个`&lt;div&gt;`作为旋转容器,里面包含多个产品图片: ```html &lt;img src="image1.jpg" alt="Product View 1"&gt; &lt;img src="image2.jpg" alt="Product View 2"&gt; &lt;!-- 更多图片 --&gt; ``` 每个`&lt;img&gt;`...

    JQuery-tableDnD 拖拽的基本使用 Table Drag and Drop JQuery plugin

    默认情况下,被拖动的行会有一个灰色的背景。你可以在CSS文件中修改这些样式以适应你的设计。 ```css /* 鼠标按下时的行 */ table tr.dragging td { background-color: #ccc; } /* 拖动指示线 */ table tr....

    jQuery.datatables.js插件用法及api实例详解

    在`aaSorting`数组中添加多个排序指令即可实现多列排序效果。 ### 隐藏某些列 DataTables允许隐藏表格的某些列。这可以通过配置`aoColumnDefs`属性来实现。例如,如果你想隐藏第3列: ```javascript $(document)....

    包含时分秒的jquery timepicker

    jQuery Timepicker可以很好地与其他前端框架如Bootstrap、AngularJS等结合使用,只需确保其CSS和JavaScript文件的引入顺序正确,并进行适当的样式调整以适应框架的样式。 总的来说,jQuery Timepicker是一个功能...

    jquery tablesort

    - **多列排序**:用户可以同时对多个列进行排序,通过点击表头可以切换排序顺序。 - **自定义排序**:tablesorter支持自定义排序函数,你可以根据需要编写自己的排序逻辑。 - **兼容性**:tablesorter与大多数现代...

    (完整实例)jquery实现表格内容静态排序,提高效率,jquery tablesorter.js

    5. **其他配置**:TableSorter提供了丰富的配置选项,例如启用/禁用排序、设置默认排序列和顺序、添加解析器等。查阅官方文档以了解更多详细信息。 ### 使用TableSorter.js的优势 1. **易用性**:通过简单的jQuery...

    基于JQuery的Banner大图片横向切换效果

    JQuery是一个广泛使用的JavaScript库,它简化了DOM操作、事件处理、动画制作等任务,而`jquery.cycle.all.min.js`插件是jQuery的一个扩展,专门用于实现各种类型的轮播(Banner)切换效果。本文将深入探讨如何利用...

    使用jqueryUI实现表格排序功能

    - 多列排序,允许用户同时按多个列进行排序。 - 数据过滤,方便用户查找特定信息。 - 定义排序优先级,控制默认排序顺序。 在实际项目中,你可以通过阅读 tablesorter 的官方文档,了解更多高级用法和配置选项,以...

    jQuery-datepicker

    **jQuery-datepicker**是一个广泛使用的JavaScript库,它是基于jQuery的一个组件,专门用于实现日期选择器功能。这个组件在网页中提供了一个交互式的日历控件,允许用户方便地选择日期,通常用于输入表单中的日期...

    jQuery UI系列教程之二:datepicker.docx

    jQuery UI Datepicker 是一个强大的日期选择插件,它提供了丰富的自定义选项和键盘快捷键支持,使得在网页上添加日期输入功能变得简单易行。这个插件允许开发者根据需求调整日期显示格式、语言设置,甚至限制用户可...

    jQuery详细教程

    您也许已经注意到在我们的实例中的所有 jQuery 函数位于一个 document ready 函数中: $(document).ready(function(){ --- jQuery functions go here ---- }); 这是为了防止文档在完全加载(就绪)之前运行 jQuery...

    jquery实例

    该示例结合使用了多个方法:`addClass` 添加 CSS 类,`show` 显示元素,`html` 设置元素的 HTML 内容。最终结果是所有 `&lt;a&gt;` 元素显示为指定样式且内容被替换为 "foo"。 ##### 示例4:使用 `hide` 方法创建动画效果...

    jQuery中noConflict()用法实例分析

    然而,由于JavaScript的全局作用域特性,有时多个库可能会同时使用同一个变量,例如"$",这就可能导致命名冲突。jQuery中的`noConflict()`方法就是为了避免这种情况而设计的。 `$`在jQuery中通常被用作快捷方式来...

    jquery 移动表格并 排序内容

    移动表格通常指的是用户可以通过拖放操作改变表格行的顺序,以适应不同场景下的需求。在jQuery中,我们可以利用`draggable()`和`droppable()`方法来实现这一功能。`draggable()`让表格行变得可拖动,而`droppable()`...

    可自定义的jQuery网页弹幕插件barrager

    `jQuery.barrager.js`还提供了更多高级特性,如自定义动画效果、暂停/恢复弹幕、随机显示顺序等。这些功能可以通过插件的API和配置选项进行控制,具体使用方法可以查阅插件的文档。 ### 6. 服务器端交互 在实际...

    jquery快速学三(事件与动画)

    9. 动画队列:jQuery的动画默认是同步进行的,但可以通过`.queue()`和`.dequeue()`来控制动画的执行顺序,实现更复杂的动画效果。 10. 动画状态管理:`.stop()`用于停止当前运行的动画,`.clearQueue()`清除动画...

Global site tag (gtag.js) - Google Analytics