0

我想添加一个动画,该动画将在用户单击链接时运行,但链接页面开始加载之前。每当我尝试此操作时,页面会立即开始加载,并且动画仅在下一页出现之前大约一半。

如果我添加return false到 javascript 块的末尾,则永远不会加载下一页。我怎样才能做到这一点?

4

1 回答 1

2

答案是首先删除适当<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 行中使用。谢谢伊恩!_

于 2013-09-13T19:32:10.330 回答