2015-11-13 215 views
4

ScrollTop是一個jQuery插件(回到頁首),試圖使滾動速度變慢,但不起作用。我已將scrollSpeed : 'fast',更改爲scrollSpeed : 'slow',,但它仍然很快,沒有任何變化。如何使滾動速度變慢

JS:

$.fn.extend({ 

    addScrollTop: function(options) { 

     var defaults = { 
       useObjWindow : false, 
       scrollSpeed : 'fast', 
       zIndex: '99' 
      } 

      var options = $.extend(defaults, options); 

     if($('body').find('.scrollTop-btn').length == 0) { 
      $('body').append('<div class="scrollTop-btn" style="display:none;"><i class="fa fa-chevron-up"></i></div>'); 
     } 

     if(options.useObjWindow) { 
      var parentWindow = this; 
      var scrollWindow = this; 
     } 
     else { 
      var parentWindow = window; 
      var scrollWindow = 'html, body'; 
     } 

     $(document).ready(function() { 

      $('.scrollTop-btn').on('click', function() { 
       $(scrollWindow).animate({scrollTop:0}, options.scrollSpeed); 
      }); 

      $(parentWindow).scroll(function() { 
       $('.scrollTop-btn').hide(); 
       var aTop = $('.scrollTop-btn').height() + 20; 

       if($(this).scrollTop() >= (aTop + 20)) { 
        $('.scrollTop-btn').css('z-index', options.zIndex); 
        $('.scrollTop-btn').show(); 
       } 
       else { 
        if($('.scrollTop-btn').is(":visible")) { 
         $('.scrollTop-btn').hide(); 
        } 
       } 

      }); 


     }); 
    } 

}); 

電話:

jQuery(document).ready(function() { 
jQuery("body").addScrollTop(); 
}); 

如何使它更慢或更平滑,當它返回頁首?如果你願意,你可以定製你需要多少時間喜歡「滾動」到最後

回答

8

使用jQuery動畫()

$('html,body').animate({ scrollTop: 0 }, 'slow'); 

請參閱本stack overflow question

+0

謝謝,但如何通過您的代碼調用我的插件?想要我的插件的解決方案。 – Aariba

+0

你的插件正在工作.. remove display:none; from div – azad

+0

是的,我知道,但它的速度非常快,我試圖讓它變慢,如何做到這一點? – Aariba

3

。或者在滾動效果完成時做其他事情。

我有一個:<a href="#" class="scrollToTop">

而且要滾動與類元素「開始」

$('.scrollToTop').on('click', function(event){ 
     event.preventDefault(); 
     $('html, body').stop().animate({scrollTop: $('.beginning').offset().top}, 500); 
}); 

,你必須在500可以設置有你想要多少時間的最後一部分效果持續。以毫秒爲單位。

+0

訣竅是數字越低,速度就越快。 – Adry