Home  >  Article  >  Web Front-end  >  About jquery smooth scrolling to the top plug-in

About jquery smooth scrolling to the top plug-in

小云云
小云云Original
2018-01-12 10:24:581211browse

This article mainly introduces the smooth scrolling to the top plug-in based on jquery in detail. It has certain reference value. Interested friends can refer to it. I hope it can help everyone.

The function of clicking a fixed button and smoothly scrolling to the top of the window is quite common in front-end development, as shown in the figure:

Key code :


$.fn.scrollTo = function(options) { 
  var defaults = { 
    toT: 0, //滚动目标位置 
    durTime: 500, //过渡动画时间 
    delay: 30, //定时器时间 
    callback: null //回调函数 
  }; 
  var opts = $.extend(defaults, options), 
    timer = null, 
    _this = this, 
    curTop = _this.scrollTop(), //滚动条当前的位置 
    subTop = opts.toT - curTop, //滚动条目标位置和当前位置的差值 
    index = 0, 
    dur = Math.round(opts.durTime / opts.delay), 
    smoothScroll = function(t) { 
      index++; 
      var per = Math.round(subTop / dur); 
      if (index >= dur) { 
        _this.scrollTop(t); 
        window.clearInterval(timer); 
        if (opts.callback && typeof opts.callback == 'function') { 
          opts.callback(); 
        } 
        return; 
      } else { 
        _this.scrollTop(curTop + index * per); 
      } 
    }; 
  timer = window.setInterval(function() { 
    smoothScroll(opts.toT); 
  }, opts.delay); 
  return _this; 
}; 
 
//调用 
 $("body").scrollTo({ toT: 0 });

Related recommendations:

js control scroll bar to slowly scroll to the top implementation code_javascript skills

jquery scroll to top bottom code_jquery

JS return to top example sharing

The above is the detailed content of About jquery smooth scrolling to the top plug-in. For more information, please follow other related articles on the PHP Chinese website!

Statement:
The content of this article is voluntarily contributed by netizens, and the copyright belongs to the original author. This site does not assume corresponding legal responsibility. If you find any content suspected of plagiarism or infringement, please contact admin@php.cn