#javascript #jquery
Есть следующий код. if ($(window).scrollTop(0)) { $('#console').css('background','blue'); } else { $(window).on('scroll',function(){ $('#console').css('background','red'); }); } При прокрутке должен меняться фон, но при возвращении скролла на самый верх фон должен возвращаться. Он к сожалению не рабочий. Как можно сделать что бы при прокрутке стиль менялся? http://jsfiddle.net/FhRKU/39/
Ответы
Ответ 1
Проверять .scrollTop() нужно так: if ($(window).scrollTop() == 0); $(window).on('scroll') нужно вызывать не из условия. Сейчас у вас получается, что если прокрутка посетителя находится в самом верху, то обработчик и не объявляется. Всю проверку и смену стилей лучше вынести в отдельную функцию и вызывать ее как при загрузке страницы, так и при скролле страницы. function consoleBG() { if ($(window).scrollTop() == 0) { $('#console').css('background', 'blue'); } else { $('#console').css('background', 'red'); } } consoleBG(); $(window).scroll(function() { consoleBG(); }); #console { width: 100%; position: fixed; height: 20px; padding: 3px; }
dfsdsd
trhrth
rfwerfwe
Комментариев нет:
Отправить комментарий