2015-09-02 1 views
1

У меня есть сайт с несколькими страницами. Я ссылаюсь на этот пример скрипты http://jsfiddle.net/kamikazefish/t6LLybx8/201/ для продвижения страницы на следующий якорь, когда используется колесо прокрутки мыши. Есть ли способ, которым я могу контролировать скорость, если кто-то может помочь, будет очень признателен. имейте в виду, что я очень новичок в коде, и мне было бы очень понравилось, если бы было написано не просто сказать мне, чтобы добавить функцию или что-то спасибо. Вот Javascript.Javascript прокручивается до следующего якоря на странице с мышью медленно

(function() { 
    var delay = false; 

    $(document).on('mousewheel DOMMouseScroll', function(event) { 
     event.preventDefault(); 
     if(delay) return; 

     delay = true; 
     setTimeout(function(){delay = false}, 200) 

     var wd = event.originalEvent.wheelDelta || -event.originalEvent.detail; 

     var a= document.getElementsByTagName('a'); 
     if(wd < 0) { 
      for(var i = 0 ; i < a.length ; i++) { 
       var t = a[i].getClientRects()[0].top; 
       if(t >= 40) break; 
      } 
     } 
     else { 
      for(var i = a.length-1 ; i >= 0 ; i--) { 
       var t = a[i].getClientRects()[0].top; 
       if(t < -20) break; 
      } 
     } 
     $('html,body').animate ({ 
      scrollTop: a[i].offsetTop 
     }); 
    }); 
})(); 

ответ

2

Вы можете просто добавить время, в течение которого вы хотите, чтобы анимация бежать как так:

$('html,body').animate({ 
    scrollTop: a[i].offsetTop 
}, 1000); 

Где 1000 время в мс. Если вы хотите, чтобы это было медленнее, увеличьте это число.

+0

humm ok отлично работает с этим очень новым, теперь я чувствую себя немного глупо, спасибо :) –

+0

не проблема, мы все начали так :-) Пойми, если бы вы могли отметить мой ответ как лучший, если это вам помогло – kremalicious

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