JQuery как определить скорость прокрутки при использовании колесика мыши в качестве ссылки - PullRequest
0 голосов
/ 06 апреля 2020

У меня проблемы с управлением скоростью прокрутки при использовании этого кода. Прямо сейчас каждый тик прокрутки увеличивает количество, и я хочу ограничить его только одним прыжком за действие прокрутки (или в течение ~ 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;
  });
});

Спасибо:)

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...