2015-05-16 2 views
0

Я знаю, что я могу использовать «щелчок» событие и сделать JQuery свиток до определенного DIV следующим образом:JQuery - Animate Scroll, но НЕ по щелчку, но на свитке

('a').click(function(){ 
    $('html, body').animate({ 
     scrollTop: $('#div').offset().top 
    }, 500); 
    return false; 
}); 

То, что я хотел бы сделать, это обнаружите прокрутку, а затем и на основе высоты окна сделайте прокрутку jquery в разных местах.

Я пробовал следующее, которое работает частично, но оно не позволит мне прокручивать назад, как только произойдет событие анимации.

function goToByScroll(id){ 
    $('html,body').animate({ 
     scrollTop: $("#"+id).offset().top}, 
     'slow'); 
} 
$(document).ready(function() { 
    $(window).scroll(function() { 
     if ($(this).height() < 990) { 
      goToByScroll('about'); 
     }else if($(this).height() < 500){ 
      goToByScroll('contact'); 
     } 
    }); 
}); 

Любые идеи ?! Thanks

ответ

0

Я действительно не понимаю, что вы делаете, но ваш javascript условный неверен. Итак, если вы положили < 990 в первый условный, вся высота < 990 пойдет на этот результат, он никогда не перейдет ко второму, если. Смотрите этот обновленный код.

function goToByScroll(id){ 
    $('html,body').animate({ 
     scrollTop: $("#"+id).offset().top}, 
     'slow'); 
} 

var lastScrollTop = 0; 
$(window).scroll(function(event){ 
    var scrollTop = $(this).scrollTop(); 
    if (scrollTop > lastScrollTop){ 
     // downscroll code 
     if (scrollTop < 500) { 
      goToByScroll('contact'); 
     }else if(scrollTop < 990){ 
      goToByScroll('about'); 
     } 
    } else { 
     // upscroll code 
     if (scrollTop > 990) { 
      goToByScroll('about'); 
     }else if(scrollTop > 500){ 
      goToByScroll('contact'); 
     } 
    } 
    lastScrollTop = scrollTop; 
}); 
+0

Чтобы дать больше объяснений, я хочу, чтобы пользователь начал прокручивать вниз, что он/она попадает в первый div, который находится ниже ввода. Тогда, если он/она прокручивается больше, чем jquery, это приведет их во второй div ниже. Etc -

-> прокрутить перейти к
- прокрутите страницу до
и т. Д. – JustQn4

+0

Вот пример того, чего я пытаюсь достичь: http://mediaboom.com/ - Вы можете прокрутить вниз, и вы поймете, что я имею в виду. – JustQn4

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