Warning: file_get_contents(/data/phpspider/zhask/data//catemap/6/apache/9.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
组合jQuery document.ready函数_Jquery_Document Ready - Fatal编程技术网

组合jQuery document.ready函数

组合jQuery document.ready函数,jquery,document-ready,Jquery,Document Ready,我有一个旧而混乱的站点,我正在尝试整理一些jQuery代码,以使其更易于维护,并希望将所有document.ready函数整合到一个调用中。问题是每个页面都有一组不同的包含项,其中一些包含项有自己的.ready函数 我想做的是把这个放在主页上: var documentReadyFunction = function() { //do something }; 在我的头文件/脚本文件中包含以下内容: jQuery(document).ready(function() { if

我有一个旧而混乱的站点,我正在尝试整理一些jQuery代码,以使其更易于维护,并希望将所有document.ready函数整合到一个调用中。问题是每个页面都有一组不同的包含项,其中一些包含项有自己的.ready函数

我想做的是把这个放在主页上:

var documentReadyFunction = function() {
    //do something
};
在我的头文件/脚本文件中包含以下内容:

jQuery(document).ready(function() {
    if (typeof documentReadyFunction != 'undefined') {
        documentReadyFunction();
    }
});
如果我能在一个地方知道所有on-ready函数,这很好,但我想做的是从两次调用之间的文件中添加更多脚本以在.ready中运行-关于如何实现这一点或这是一个好主意的任何建议?

您可以尝试这种方法

<script type="text/javascript" >
 $(function(){
    init();
 });

 function init(){
   someFunction();
   //other init stuff
 }

 function someFunction(){
   }
</script>

不确定您是否意识到这一点,但我非常确定允许多次调用$(document).ready(fn),并且它们不会覆盖原始函数,但也会调用它


有关更多信息,请参阅。请注意,如果其中一个出现错误,以下函数将不会执行。

我意识到您可以执行多个.ready调用,但有些函数需要按特定顺序运行(例如,延迟加载图像和应用jcarousel需要以特定方式运行,才能将两者应用于同一组图像)。我希望能够声明它们的使用位置,然后按照正确的顺序加载它们(而不是必须在页面上做手脚,使它们的.ready()看起来正确。)-我想知道如何创建一个函数数组,我总是在开始时推一个函数,在结束时推另一个函数。
$(document).ready(function() {
  // some code here
});
$(document).ready(function() {
  // other code here
});