滚动时激活动画

时间:2013-09-20 16:18:04

标签: jquery css jquery-animate

我有一个标题,当用户滚动时需要设置动画 实际上我有

$(document).scroll(function () {
var value = $(this).scrollTop();
if (value > 150) {
    $( "body" ).addClass( "scroll" );
    $( "header.head" ).animate({top:'-15px'}); }
else {
    $( "body" ).removeClass( "scroll" );
    $( "header.head" ).animate({top:'0px'}); }
    }
});

当用户达到Y = 150时,身体会得到一个名为(“scroll”)的新类,然后标题会得到一个顶部:-15px它是动画的 我的问题是,如果我把它放在其他地方

$( "header.head" ).animate({top:'0px'}); }

这根本不起作用,事实上,整个脚本停止工作,无法弄清楚它是什么 我知道如何让它发挥作用吗?

2 个答案:

答案 0 :(得分:0)

语法错误,额外}

$(document).scroll(function () {/*start anon func*/
    var value = $(this).scrollTop();
    if (value > 150) {/*start if*/
       $( "body" ).addClass( "scroll" );
       $( "header.head" ).animate({top:'-15px'}); /*end if*/}
    else {/*start else*/
       $( "body" ).removeClass( "scroll" );
       $( "header.head" ).animate({top:'0px'}); /*end else*/}
    /*end anon func*/}
/*extra brace*/});

答案 1 :(得分:0)

有一个额外的大括号'}'并使用stop(),如下面的代码

试试这个

$(document).scroll(function (e) {
var value = $(this).scrollTop();
if (value > 150) {
    $( "body" ).addClass( "scroll" );
    $( "header.head" ).stop().animate({top:'-15px'}); 
 }
else {
    $( "body" ).addClass( "scroll" );
    $("header.head" ).stop().animate({top:'0px'});
 }

});

希望这有帮助,谢谢