У меня проблема с пользовательскими событиями Джеймса Падолси : scrollstart
и scrolltop
Когда я использую колесо мыши для прокрутки одной «отметки» или щелкаю полосу прокрутки где-то далеко ниже или выше ее текущего положения, вызывая внезапную прокрутку на большую величину, я получаю те же scrollTop()
значения для scrollstart
и scrolltop
- я не могу сказать, с чего началась прокрутка или в каком направлении она произошла. jsFiddle доступно здесь (примечание: если у вас очень высокое разрешение, вам придется добавить больше текста в HTML, чтобы в окне результатов появилась полоса прокрутки).
HTML:
<html>
<body>
<div id="scrollable">
<!-- insert lots of text here -->
</div>
</body>
</html>
CSS:
#scrollable {width: 120px;}
JavaScript:
var before = 0;
$(window).bind('scrollstart', function() {
before = $(window).scrollTop();
});
$(window).bind('scrollstop', function() {
alert('before: ' + before + "\nafter: " + $(window).scrollTop())
});
jsFiddle доступно здесь
Есть идеи, как получить истинное значение scrollTop()
для события scrollstart
? Я полагаю, что модификация плагина является опцией, поэтому все идеи приветствуются.