【问题标题】:Why is jQuery's .preventDefault obscuring my animation?为什么 jQuery 的 .preventDefault 会遮挡我的动画?
【发布时间】:2011-04-20 19:36:25
【问题描述】:

我有一个锚标记控制一些动画,href 设置为 javascript:void();暂时,一切正常。我将 href 更改为 # 并将 event.preventDefault();在附加到锚标记的函数内。它阻止浏览器转到#,但现在我的动画没有发生,只是一秒钟后它显示了动画的终点。我尝试将动画的持续时间延长一秒,然后我看到了动画的结尾,所以这就像 preventDefault 导致第一部分打嗝。

知道这里发生了什么吗?这是我的代码:

$('#galleryBelt .scrollRight a').click(function(event){
    slidepageCurr++;
    setScrollButtons();

    /* slide belt to the left */
    $('#galleryBelt ul').animate({
        left: '-='+slidepageWidth
    }, shiftDuration);

    event.preventDefault();
});

【问题讨论】:

    标签: jquery jquery-animate preventdefault


    【解决方案1】:

    返回 false 有帮助吗?

    $('#galleryBelt .scrollRight a').click(function(event){
        slidepageCurr++;
        setScrollButtons();
    
        /* slide belt to the left */
        $('#galleryBelt ul').animate({
            left: '-='+slidepageWidth
        }, shiftDuration);
    
        return false;
    });
    

    【讨论】:

    • 嗯。它...确实。这怎么行?为什么这会让浏览器忽略 href="#"?顺便说一句,谢谢。
    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 2011-02-15
    • 1970-01-01
    • 2012-10-31
    • 1970-01-01
    • 2012-07-07
    • 2019-08-18
    • 2013-01-22
    相关资源
    最近更新 更多