jquery:立刻停止发生的一切

时间:2010-01-30 11:26:57

标签: jquery

我只是在学习jquery,我花了很长时间浏览jquery api网站来创建这几行代码。我想要做的是使用ajax从另一个页面加载内容并将其放入现有的div中。目前,代码有效,但是当我点击一个链接时,所有步骤都会一次性执行,所以当#content div向上滑动时它会执行load()函数...

我想要它做的是逐步完成每一行,所以在一行完成后,下一行开始(例如#content div向上滑动然后#content里面的东西被删除,但是目前,#content div在它完成滑动之前变空了)

$(document).ready(function(){

  $("#nav a").click(function(event){
    event.preventDefault();
    $("#content").slideUp();
    $("#content").empty();
    var navlink = $(this).attr("href");
    $("#content").load(navlink + " " + "#content");
    $("#content").slideDown();

  })


});

3 个答案:

答案 0 :(得分:3)

使用回调选项:

$(document).ready(function(){

  $("#nav a").click(function(event){
    event.preventDefault();
    $("#content").slideUp("normal", function() {
      $("#content").empty()
       .load($(this).attr("href") + " " + "#content")
       .slideDown(); //Just so this won't wrap here, can be one line
    });    
  });
});

答案 1 :(得分:2)

大多数jquery函数接受回调。

答案 2 :(得分:2)

你需要在jquery中使用ajax方法的回调。特别是在您加载的页面完成时执行的回调方法,或者当您加载的页面显示没有错误时执行的onsuccess方法。这样可以确保只有在页面加载后才会出现向上滑动

相关问题