Вопрос о прокрутке jQuery - PullRequest
       14

Вопрос о прокрутке jQuery

0 голосов
/ 06 сентября 2011

все! Я пытаюсь показать div, когда пользователь просматривает другой div, и скрывать его снова, когда пользователь достигает начала последнего div Допустим, у нас есть два div с идентификаторами # 1 и # 2. Теперь, когда пользователь прокручивает до начала # 1, показывается div # 2. Когда пользователь снова возвращается к # 1, div # 2 скрыт. Как мне этого добиться?

Я использовал это:

jQuery(window).scroll(function(){
        y = jQuery(window).scrollTop();
        if(y>0){
            jQuery("#2").slideDown();
        } 
        if(y==0){
            jQuery("#2").slideUp();
        }
    });

, который отлично работал для прокрутки на окне. Но это не сработало:

jQuery(window).scroll(function(){
        y = jQuery("#1").scrollTop();
        if(y>0){
            jQuery("#2").slideDown();
        } 
        if(y==0){
            jQuery("#2").slideUp();
        }
    });

Я делаю это неправильно? Помощь высоко ценится.

1 Ответ

1 голос
/ 06 сентября 2011

Подумайте, что такое scrollTop для div # 1.Вы говорите, если y > 0.Если только div1 не прокручивается, он всегда будет нулевым.Что вам действительно нужно, так это то, находится ли окно ниже div1.Так что для этого мы используем

//top of window is at
jQuery(window).scrollTop();

//top of div1 is at (relative to window)
jQuery('#1').offset().top;

//your code should look like this instead
jQuery(window).scroll(function(){
    y = jQuery(window).scrollTop();
    if(y>jQuery('#1'.offset().top)){
        jQuery("#2").slideDown();
    } 
    else{
        jQuery("#2").slideUp();
    }
});
...