Активировать анимацию при прокрутке

0

У меня есть заголовок, которому нужно анимировать, когда пользователь прокручивает, на самом деле у меня есть

$(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, тело получает новый класс ("прокрутка"), а затем заголовок получает вершину: -15px, который анимирован. Моя проблема в том, что, если иначе

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

это просто не работает, по сути, весь скрипт перестает работать и не может понять, что это за идея, как я могу заставить его работать?

Теги:
jquery-animate

2 ответа

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'});
 }

});

Надеюсь, это поможет, спасибо

  • 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*/});

Ещё вопросы

Сообщество Overcoder
Наверх
Меню