摘要:背景近期项目需求实现同一页面内进行导航跳转。一开始想到的是通过描点定位,但是跳转效果不好,没有过渡的动画。于是自己封装了一个跳转函数,支持立刻跳转线性过渡先快后慢缓动三种跳转方式。此模块由原生编写,不依赖其他插件库。
背景
近期项目需求实现同一页面内进行导航跳转。一开始想到的是通过描点定位,但是跳转效果不好,没有过渡的动画。后来试了scrollIntoView和scroll-behavior: smooth,一方面浏览器兼容性不好,另一方面无法控制过渡时间,内容很多时跳转太慢。于是自己封装了一个跳转函数,支持立刻跳转、线性过渡、先快后慢(缓动)三种跳转方式。此模块由原生JS编写,不依赖其他插件库。
演示详见:https://theoxiong.github.io/s...
安装方法$ npm install scroll-ease-efficient使用
// 支持 CommonJs/ES6/Script 三种引入 // 1. CommonJs const { scrollTo } = require("scroll-ease-efficient") // 2. ES6 import { scrollTo } from "scroll-ease-efficient" // 3. Script // scrollable element let scrollEle = document.getElementById("id") // 基本用法 scrollTo(scrollEle, 500) // 指定过渡时间(单位ms) scrollTo(scrollEle, 500, { duration: 500}) // 指定过渡动画效果, 支持"gradually"/"liner"/"instant" scrollTo(scrollEle, 500, { timingFunction: "gradually"}) // 指定过渡时间和动画效果 scrollTo(scrollEle, 500, { timingFunction: "liner", duration: 500}) // 指定缓动因子, 只对"gradually"方式有效 scrollTo(scrollEle, 500, { timingFunction: "gradually", factor: 6})函数说明
function scrollTo (ele, pos, [options])
ele < Dom> target scrollable element
pos
options
timingFunction
duration
factor
项目地址:https://github.com/TheoXiong/... 欢迎star
文章版权归作者所有,未经允许请勿转载,若此文章存在违规行为,您可以联系管理员删除。
转载请注明本文地址:https://www.ucloud.cn/yun/100121.html
摘要:完整代码如下移动端隐藏滚动条解决方案解决上滑动不流畅推荐娃娃日用品美妆护肤娃娃日用品美妆护肤娃娃 HTML代码如下 移动端隐藏滚动条解决方案 * { padding: 0; margin: 0; } .par-type { height: 50px; ...
摘要:完整代码如下移动端隐藏滚动条解决方案解决上滑动不流畅推荐娃娃日用品美妆护肤娃娃日用品美妆护肤娃娃 HTML代码如下 移动端隐藏滚动条解决方案 * { padding: 0; margin: 0; } .par-type { height: 50px; ...
摘要:在浏览器中,页面默认滚动是在标签上,移动端大多数在标签上,在我们想要实现平滑回到顶部,只需在这两个标签上都加上准确的说,写在容器元素上,可以让容器非鼠标手势触发的滚动变得平滑,而不局限于,标签。 前言 在实际应用中,经常用到滚动到页面顶部或某个位置,一般简单用锚点处理或用js将document.body.scrollTop设置为0,结果是页面一闪而过滚到指定位置,不是特别友好。我们想要...
阅读 1628·2021-10-25 09:46
阅读 3211·2021-10-08 10:04
阅读 2355·2021-09-06 15:00
阅读 2771·2021-08-19 10:57
阅读 2078·2019-08-30 11:03
阅读 972·2019-08-30 11:00
阅读 2371·2019-08-26 17:10
阅读 3548·2019-08-26 13:36