2014-02-14 2 views
1

Я искал в другом посте и не мог найти ответ для jQuery, который отвечает только на свиток, независимо от того, какую позицию. Я хотел бы иметь код, который в прокрутке добавляет класс, а когда прокрутка завершена, удалите этот класс.Во время прокрутки добавьте класс, и если прокрутка закончилась, удалите класс

На данный момент у меня есть что-то вроде этого:

$(window).on('scroll', function() { 
    if($(window).scrollTop()){ 
     $('.site-header').addClass('ipad-on-scroll'); 
    }else{ 
     $('.site-header').removeClass('ipad-on-scroll'); 
    } 
}); 

Это не работает, как бы это правильно?

+0

может у быть более конкретным, когда вы хотите добавить класс и когда, чтобы удалить его .. – Saurabh

+0

@Saurabh Я хотел бы для добавления класса только при прокрутке. У этого класса нет отображения, и я хотел бы, чтобы заголовок исчезал при прокрутке, после того, как закончил свиток, я бы хотел, чтобы он снова появился. есть идеи? –

+0

это может помочь вам http://www.w3schools.com/jquerymobile/tryit.asp?filename=tryjqmob_event_scrollstop – santhosh

ответ

2

Попробуйте это:

$(window).scroll(function(){ 

    $('.site-header').toggleClass('ipad-on-scroll'); 

}); 
+0

Ваш код имеет смысл, я попробовал, и он переключается. Проблема в том, что он переключается после прокрутки, поэтому иногда вы заканчиваете прокрутку, и элемент исчезает (у ipad-on-scroll нет дисплея). Я бы хотел, чтобы элемент исчез только во время прокрутки, это правильный путь? –

0

создать CSS для вашего класса 'IPAD-на-свитка' первый.

отображение на прокрутке, как показано ниже.

Использование jQuery.

$('.site-header').scroll(function() { 
    $('ipad-on-scroll').css("display", "inline").fadeOut("fast");    
}); 

попробуйте это.

+0

Но я хотел бы, чтобы класс добавлялся только во время прокрутки, после завершения прокрутки я хотел бы удалить этот класс. –

+0

проверить отредактированный ответ – Shri

0

Я это то, что вы ищете

, как if в JQuery проверяет истинное или ложное значение и $(window).scrollTop() возвращает целое значение, просто убедитесь, что и вы сделали.

так его scrollTop() == 0 означает, что сверху еще это на свитке

Fiddle demo

+0

Спасибо за ответ, но это не решает мой вопрос. Если сайт находится в прокрутке, добавьте класс, если не удалите этот класс. –

+0

@ DanielRamirez-Escudero вы проверили демо, я сделал то же самое там – Saurabh

+0

Я проверил демо, но это не то, что я имею в виду. Ваша демонстрация применяет класс, если прокручивается, но когда свиток заканчивается, заголовок все еще не отображается. Я хочу, чтобы прокрутка закончилась, а затем удалите класс. –

Смежные вопросы