【问题标题】:Jquery animation not working when clicking quickly on links快速单击链接时Jquery动画不起作用
【发布时间】:2012-12-05 16:35:53
【问题描述】:

这是我的代码, 此代码将 div 从页面底部滚动到顶部。 我有 3 个链接,每个链接滚动另一个 div 并将 div 隐藏在它后面。 如果等到动画结束,一切都很好。 如果我不等待并且我快速单击链接它不起作用。 动画卡住,有时不显示任何 div。

可能是什么问题?

CSS:

.footerDiv{
display:none;
position:absolute;
z-index:900;
top:800px;
left:0px;
background-size:100%;
height: 600px;
width:100%;
margin: 0;
padding: 0;
background-repeat:no-repeat;
background-position:bottom;} #fourth{background-image:url(../images/group_bg.jpg);} #fifth{background-image:url(../images/team_bg.jpg);} #sixth{background-image:url(../images/client_bg.jpg);}

javascript:

function showFooterLink(num){
var bottomOfScroll = $(window).scrollTop() + $(window).height();

$("#footerLinks a").each(function(index, element) {
    var elemNum = $(element).attr("data-num");
    if(elemNum==num){
        $(element).addClass("on");
    }
    else{
        $(element).removeClass("on");
    }
});

$('.footer_'+num).stop().
    css({
        "display":"block",
        "z-index":1000
    }).
    animate({
        top: bottomOfScroll - $(window).height()
    }, {
    duration: 1500,
    specialEasing: {
        top: 'easeInOutQuad'
    },
    complete: function() {

        $("body").css("overflow", "hidden");
        $(".footerDiv").each(function(index, element) {
            if(!$(element).hasClass("footer_"+num)){
                $(element).hide();
                $(element).css({
                    "top"       : bottomOfScroll,
                    "z-index"   : 900
                });
            }
            else{
                $(element).css("z-index","900");
            }
        });
    }
});

}

【问题讨论】:

    标签: jquery html animation scroll


    【解决方案1】:

    尝试将一些布尔值传递给 stop 方法:

    改变

    stop()
    

    stop(true, true)
    

    第一个布尔值将清除动画队列。第二个将“跳到动画的末尾”,从而防止动画卡在“中间”的某个地方。

    clearQueue 一个布尔值,指示是否也删除排队的动画。默认为 false。

    jumpToEnd 一个布尔值,指示是否立即完成当前动画。默认为 false。

    更多信息here

    【讨论】:

    • 我添加了它,但没有帮助。您可以在此处查看该网站:link 页面底部的链接是希伯来语。
    • @user1879725 The page you are looking for might have been removed, had its name changed, or is temporarily unavailable.
    • 谁能告诉我我在做什么?
    猜你喜欢
    • 2013-04-06
    • 2016-01-02
    • 2018-01-14
    • 2014-07-12
    • 1970-01-01
    • 1970-01-01
    • 2018-02-10
    • 2012-09-19
    • 1970-01-01
    相关资源
    最近更新 更多