У меня проблемы с управлением скоростью прокрутки при использовании этого кода. Прямо сейчас каждый тик прокрутки увеличивает количество, и я хочу ограничить его только одним прыжком за действие прокрутки (или в течение ~ 0,5 секунды).
var winHeight = jQuery(window).height(),
pages = jQuery('.section-page'),
navLinks = jQuery('.primary-menu a'),
currentPage = 0;
jQuery('html, body').animate({ scrollTop: 0}, 0);
// listen to the mousewheel scroll
jQuery(window).on('mousewheel DOMMouseScroll', function(e){
//by default set the direction to DOWN
var direction = 'down',
jQueryth = jQuery(this),
// depending on the currentPage value we determine the page offset
currentPageOffset = currentPage * winHeight;
// if the value of these properties of the even is positive then the direction is UP
if (e.originalEvent.wheelDelta > 0 || e.originalEvent.detail < 0) {
direction = 'up';
}
// if the direction is DOWN and the currentPage increasing won't exceed
// the number of PAGES divs, then we scroll downward and increase the value
// of currentPage for further calculations.
if(direction == 'down' && currentPage <= pages.length - 2){
jQueryth.scrollTop(currentPageOffset + winHeight);
currentPage++;
}
else if(direction == 'up' && currentPage >= 0) {
// else scroll up and decrease the value of currentPage IF the direction
// is UP and we're not on the very first slide
jQueryth.scrollTop(currentPageOffset - winHeight);
currentPage--;
}
});
// as final step we need to update the value of currenPage upon the clicking of the
// navbar links to insure having correct value of currentPage
navLinks.each(function(index){
jQuery(this).on('click', function(){
navLinks.parent().removeClass('current');
jQuery(this).parent().addClass('current');
currentPage = index;
});
});
Спасибо:)