Jquery:加载一个HTML页面,然后通过AJAX加载另一个HTML页面

Jquery:加载一个HTML页面,然后通过AJAX加载另一个HTML页面,jquery,ajax,load,delay,timedelay,Jquery,Ajax,Load,Delay,Timedelay,嘿,我正在学习Jquery,只是想知道为什么我不能调用“加载页面”,然后延迟调用目标,我尝试的一切似乎都不起作用,例如添加、延迟或链接函数 任何帮助都将是巨大的,我正在对jquery进行一次很好的尝试 谢谢用于制作动画。 它向动画队列添加延迟项,延迟其后调用的任何动画。 它不会影响正常的方法 相反,您应该调用,如下所示: //when document loads $(document).ready(function() { //navigation item is clic

嘿,我正在学习Jquery,只是想知道为什么我不能调用“加载页面”,然后延迟调用目标,我尝试的一切似乎都不起作用,例如添加、延迟或链接函数

任何帮助都将是巨大的,我正在对jquery进行一次很好的尝试

谢谢

用于制作动画。
它向动画队列添加延迟项,延迟其后调用的任何动画。
它不会影响正常的方法

相反,您应该调用,如下所示:

  //when document loads
   $(document).ready(function() {

    //navigation item is clicked
     $('.nav_item').click(function() {

    //get the clicked nav items id
    var nav_item = $(this).attr("id");
    var location_to_load = nav_item + '.html';

   //load the loading html then the page
   $('#sliding_content_container').load('loading.html', null, showResponse);

   //load the page
   function showResponse(){
    $('#sliding_content_container').delay(900).load(location_to_load);
   };

   //dont refresh
   return false;
   }); 
   });

要延迟工作,您需要在
showResponse()
中使用下一个调用的队列来加载


如果您愿意,还可以使用“fx”以外的队列,以防该队列通常用于动画而使您感到不安。

这是正常的,您不能使用.delay()延迟它; 默认情况下AJAX是异步的(有时它有助于检查技术的缩写是什么意思)。 自从我使用jQuery以来已经有很多时间了,但据我记忆所及,ajax请求应该是合适的。

您误解了他的问题。谢谢您的回复,也非常感谢-我已经仔细阅读了,了解了我的问题。这很有效(虽然有点过分),但您可以用更简洁的方式来完成:
.queue(function(n){$(This).load(location_to_load,n);}+1,但是-----------为什么还有
.delay(900)
$('#sliding_content_container').load('loading.html', null, function() {
    setTimeout(function() { 
        $('#sliding_content_container').load(location_to_load);
    }, 900);
});
function showResponse(){
    $('#sliding_content_container')
      .delay(900)
      .queue(
        function()
        {
          var $this = $(this);
          $this
            .load(
              location_to_load,
              false,
              function()
              {
                $this.dequeue();
              }
            );
        }
      );
};