2015-11-13 99 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