我想添加一个动画,该动画将在用户单击链接时运行,但在链接页面开始加载之前。每当我尝试此操作时,页面会立即开始加载,并且动画仅在下一页出现之前大约一半。
如果我添加return false
到 javascript 块的末尾,则永远不会加载下一页。我怎样才能做到这一点?
我想添加一个动画,该动画将在用户单击链接时运行,但在链接页面开始加载之前。每当我尝试此操作时,页面会立即开始加载,并且动画仅在下一页出现之前大约一半。
如果我添加return false
到 javascript 块的末尾,则永远不会加载下一页。我怎样才能做到这一点?
答案是首先删除适当<a>
元素的原生点击操作。所以:
$('#mainNavigation a').on('click',function(){
return false;
});
<a>
然后为这些元素的点击事件添加动画。通过将用户发送到链接页面来结束动画。通过将语句放在动画回调函数中,确保仅在动画完成后将用户发送到下一页。window.location
$('#mainNavigation a').click(function(){
// get the link url
loc = $(this).attr('href');
// run the animation
$('#logo').animate({width:'100%',height:121},800,function(){
window.location = loc;
});
});
或者,event.preventDefault()
在上面的块中使用,而不是在这个答案的前 3 行中使用。谢谢伊恩!_