我只是在学习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();
})
});
答案 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方法。这样可以确保只有在页面加载后才会出现向上滑动