Javascript 如何逐个执行jquery代码?

Javascript 如何逐个执行jquery代码?,javascript,jquery,Javascript,Jquery,如何逐个执行jquery代码? 当我完成任务时,我想先做“功能1”。然后做“功能2” 谢谢 <script type="text/javascript"> jQuery(document).ready(function(){ $(document).ready(function(){ //function 2, jqeury.ajax }); $(document).ready(function(){ //function 3, jqeury.

如何逐个执行jquery代码? 当我完成任务时,我想先做“功能1”。然后做“功能2”

谢谢

<script type="text/javascript">
jQuery(document).ready(function(){
  $(document).ready(function(){ 
    //function 2, jqeury.ajax  
  });  
  $(document).ready(function(){ 
    //function 3, jqeury.json 
  });  
  $('#col').load("home.html"); 
    //function 4, jqeury.load
  });  
});
</script>
<script type="text/javascript">
jQuery(document).ready(function(){
  //function 1,  a jquery slider plungin
});
</script>

jQuery(文档).ready(函数(){
$(文档).ready(函数(){
//函数2,jqeury.ajax
});  
$(文档).ready(函数(){
//函数3,jqeury.json
});  
$('#col').load(“home.html”);
//函数4,jqeury.load
});  
});
jQuery(文档).ready(函数(){
//函数1,jquery滑块
});

您不需要这么多文档就绪调用。一个就够了

如果您的意思是希望在收到来自您正在进行的AJAX调用的响应后调用每个方法,请将代码放入回调中

$(document).ready(function(){
    one(); //call the initial method
});

function one(){
   $.get('url', {}, function(data){
      two(); //call two() on callback
   })
}

function two(){
   $.getJSON('url', {}, function(data){
       three(); //ditto
   })
}

function three(){
   $('#selector').load('url');
}
医生


使用
设置超时
功能

function f1(para) {
  // ...
  // do work;
  setTimeout(f2, 10);
}

function f2() {
  // ...
  // do work
  setTimeout(f3, 10);
}

jQuery(文档).ready(函数(){
function2(){//声明函数2将在此处执行的操作
//函数2,jqeury.ajax
} 
函数3(){
//函数3,jqeury.json
}  
$('#col').load(“home.html”);
//函数4,jqeury.load
});  
});
jQuery(文档).ready(函数(){
//函数1,jquery滑块
function2();//在1之后执行函数2
功能3();
});

看起来您正在执行三个ajax调用。从jQuery 1.5开始,我们现在有一个从ajax调用返回的(技术上是一个对象),因此您可以像这样链接它们:

$(function() { // this is a document ready function.  it's all you need.
    $.ajax(/* your ajax specs */).done(function() {
        $.getJSON('somepath').done(function() {
            $('#container').load('etc.');
        });
    });
});

ready()使用回调函数,如下所示

<script type="text/javascript">
function ajaxfun() {
    //function 2, jqeury.ajax  
    //in ajax callback call the jsonfun();
}  
function jsonfun(){ 
    //function 3, jqeury.json 
    //after json function add the next function in it callback.
}  
</script>
<script type="text/javascript">
jQuery(document).ready(function(){
  //function 1,  a jquery slider plungin
  //Call ajaxfun() here to execute second.
});
</script>

函数ajaxfun(){
//函数2,jqeury.ajax
//在ajax回调中调用jsonfun();
}  
函数jsonfun(){
//函数3,jqeury.json
//在json函数之后,在回调函数中添加下一个函数。
}  
jQuery(文档).ready(函数(){
//函数1,jquery滑块
//在此处调用ajaxfun()以执行第二个命令。
});

如果您能给我们更多的代码,而不使用多个文档就绪功能,您就不必多次侦听文档就绪。因此,请准备好父文档,并向我们展示函数2和3的精髓,通常当您使用类似的匿名jquery函数时,您可以在函数调用后使用逗号来调用下一个函数。默认情况下,所有操作都将按一次一件的顺序运行,除非另有规定-例如异步加载ajax。可能重复:如果您使用的是Jquery 1.5及更高版本,则可以使用.when和.then(延迟对象)setTimeout是一个糟糕的解决方案。您不能保证ajax调用将在下一个setTimeout过期并执行之前完成。这将导致竞争条件。函数2和3不会在触发之前等待对服务器的异步调用完成。@stephen如果我想等待每个post完成,我不会使用asynch。好的,有一个选项可以关闭它,这是正确的:如果您想锁定浏览器,直到同步请求得到解决@斯蒂芬:嗯,是的,我明白你的意思:)
<script type="text/javascript">
function ajaxfun() {
    //function 2, jqeury.ajax  
    //in ajax callback call the jsonfun();
}  
function jsonfun(){ 
    //function 3, jqeury.json 
    //after json function add the next function in it callback.
}  
</script>
<script type="text/javascript">
jQuery(document).ready(function(){
  //function 1,  a jquery slider plungin
  //Call ajaxfun() here to execute second.
});
</script>