我有这个代码,我使用jQuery导航到下一页,因为我希望在此之前发生一些效果。问题是,在prevent.Default()之后的所有内容;似乎不起作用!
$("a").click(function(event){
event.preventDefault();
$(".content-center").animate({height: "0px"}, 500);
navigate($(this).attr('href'));
});
我需要按顺序发生事情,以便动画发生并且一旦完成 - 加载下一页......
有没有人有任何想法?非常感谢提前?
添
更新了代码(移动到新页面但没有动画发生)---
$("a").click(function(event){
event.preventDefault();
var driver = $(this).attr('href');
$(".content-center").animate({
height: "0px"
}, 500, function(){
navigate(driver);
});
});
请参阅here
非常感谢你的帮助!!
答案 0 :(得分:2)
您需要将导航方法调用放在动画回调中。
$("a").click(function(event){
event.preventDefault();
var $a = $(this);
$(".content-center").animate({
height: "0px"
}, 500, function(){
navigate($a.attr('href'));
});
});
如果不这样做,动画和导航将同时发生。
富
答案 1 :(得分:0)
尝试使用animate函数的回调函数参数,在动画完成后实现导航(从臀部开始):
$("a").click(function() {
var driver = this;
$(".content-center").animate({height: "0px"},
500,
function() { navigate($(driver).attr('href')); }
);
});