引自https://segmentfault.com/a/1190000016839122?utm_source=weekly&utm_medium=email&utm_campaign=email_weekly

公共方法

/**
* 缓冲函数
* @param {Number} position 当前滚动位置
* @param {Number} destination 目标位置
* @param {Number} rate 缓动率
* @param {Function} callback 缓动结束回调函数 两个参数分别是当前位置和是否结束
*/
var easeout = function (position, destination, rate, callback) {if (position === destination || typeof destination !== 'number') {return false;}destination = destination || 0;rate = rate || 2;// 不存在原生`requestAnimationFrame`,用`setTimeout`模拟替代if (!window.requestAnimationFrame) {window.requestAnimationFrame = function (fn) {return setTimeout(fn, 17);}}var step = function () {position = position + (destination - position) / rate;if (Math.abs(destination - position) < 1) {callback(destination, true);return;}callback(position, false);requestAnimationFrame(step);};step();
}

调用 的demo

var scrollTopSmooth = function (position) {// 当前滚动高度var scrollTop = document.documentElement.scrollTop || document.body.scrollTop;easeout(scrollTop, position, 5, function (val) {window.scrollTo(0, val);});
}$backToTop = document.querySelector('.back-to-top')
$backToTop.addEventListener('click', function () {scrollTopSmooth(200);
}, false);

转载于:https://www.cnblogs.com/myzy/p/9927900.html

页面缓冲滚动到指定位置相关推荐

  1. div滚动到指定位置 vue_Vue列表实现滚动到指定位置样式改变

    这个需求大概是这样子: 我做的一个聊天Demo,在搜索框搜索用户,可以滚动到指定的用户.然后成选中状态. 这是目前状态,我搜索南宫仆射 ,想要下面的用户列表直接滚动到 南宫仆射 并改变CSS样式. 查 ...

  2. 监听某个区域滚动_监听页面滚动及滚动到指定位置

    一.原生js通过window.onscroll监听 window.onscroll = function() { //为了保证兼容性,这里取两个值,哪个有值取哪一个 //scrollTop就是触发滚轮 ...

  3. js控制页面滚动到指定位置,js中scrollIntoView()的用法

    js中scrillIntoView()的用法--页面滚动到指定位置 最近遇到一个问题,在一个页面上,点击某个按钮时,滚动到页面的某一位置. 如图: 如果是我写的话,我可能会先获取滚动到的元素,然后获取 ...

  4. 页面滚动到指定位置导航栏固定顶部

    做一个网页时经常会用到导航栏,导航栏对于一个网站来说,地位是举足轻重的,在用到导航栏时,我们经常会用到一个效果,就是当页面滑动到一定的位置时,导航栏需要固定在页面的顶部,这是怎么实现的呢? 下面的代码 ...

  5. vue 点击div 获取位置_vue 点击元素滚动到指定位置

    {{item}} {{item}} data() {return{ navgator: ['列表A','列表B','列表C','列表D', ], navgatorIndex:0, listBox: [ ...

  6. 【小程序】滚动到指定位置

    点击按钮滚动到页面内的指定位置. wxml <view class="btn" catchtap="scrollToElement">去报名< ...

  7. Vue 页面跳转到指定位置

    Vue 页面跳转到指定位置 页面跳转 页面 script style 进阶版:随着页面滚动变换导航菜单样式 监听页面滚动方法 销毁滚动 页面跳转 页面 <template><div ...

  8. Query实现将div中滚动条滚动到指定位置的方法,html中offsetTop、clientTop、scrollTop、offsetTop各属性的解释

    TML精确定位:scrollLeft,scrollWidth,clientWidth,offsetWidth  scrollHeight: 获取对象的滚动高度.  scrollLeft:设置或获取位于 ...

  9. 用startSmoothScroll实现RecyclerView滚动到指定位置并置顶,含有动画。

    RecyclerView滚动到指定位置并置顶 RecyclerView本身提供了几个定位的方法,除了手动滑动的scrollTo,smootScrollTo和scrollBy,smoothScrollB ...

最新文章

  1. linux网页跳转代码,自动识别PC与移动网页跳转代码
  2. 项目四-用循环求(1)
  3. USB4 来了(一)
  4. 代码实例--请求的转发:RequestDispatcher对象处理请求的两个方法--forward和include
  5. TF之CNN:利用sklearn(自带手写数字图片识别数据集)使用dropout解决学习中overfitting的问题+Tensorboard显示变化曲线
  6. 一个判断字符是不是10进制数的函数------isdigit()
  7. pyrealsense2 frame_metadata_value类(帧的元数据)(帧的元数据指可能针对每个单独的帧公开的一组只读属性)
  8. 甘肃省计算机等级考试在线支付,甘肃计算机等级考试入口
  9. BeetleX之Web网关1.5.7安装使用
  10. 她16岁因汶川地震改志学医,仅27岁当上浙大博导!她说:科研是“止不住想念到失眠的对象”...
  11. python实现以及所有排序大总结【转】
  12. 移动安全--52--我设计的Java代码混淆解决方案
  13. 开源软件、自由软件、Copyleft、CC都是啥,傻傻分不清楚?
  14. 【Pygame实战】第三版本最终确认——《愤怒的小鸟梦幻爆破》上线回归,爆赞~
  15. 使用java、html5以及wPaint实现在线编辑图片并保存到FTP中的功能,在线图片为iis服务
  16. 阿里云mysql价格_阿里云超级计算mysql价格
  17. MySQL字段类型如何选择?
  18. W3AF:一个web应用安全的攻击、审计平台
  19. keil代码排版问题
  20. 涨知识!阿里P7级别面试经验总结,附超全教程文档

热门文章

  1. 分段函数是不是一定初等函数_分段函数的微积分例题选讲
  2. Fiddler改包场景2——拦截请求,修改响应,放行请求
  3. jpushinterface.setalias的几个参数都是啥意思_很多电工老师傅都不知道,低压断路器基本参数,你懂几个?...
  4. PAT甲级1007 最大连续子序列
  5. mysql单实例和多实例,MySQL单实例、多实例安装_MySQL
  6. orb-slam a versatile and accurate monocular slam system
  7. 【opencv】图像特征与描述
  8. [图像处理]指定任意灰度变换
  9. 《R语言预测实战》PDF,数据及代码
  10. 医疗中文问句意图匹配Top3方案ppt