摘要:背景近期項(xiàng)目需求實(shí)現(xiàn)同一頁(yè)面內(nèi)進(jìn)行導(dǎo)航跳轉(zhuǎn)。一開(kāi)始想到的是通過(guò)描點(diǎn)定位,但是跳轉(zhuǎn)效果不好,沒(méi)有過(guò)渡的動(dòng)畫(huà)。于是自己封裝了一個(gè)跳轉(zhuǎn)函數(shù),支持立刻跳轉(zhuǎn)線性過(guò)渡先快后慢緩動(dòng)三種跳轉(zhuǎn)方式。此模塊由原生編寫(xiě),不依賴(lài)其他插件庫(kù)。
背景
近期項(xiàng)目需求實(shí)現(xiàn)同一頁(yè)面內(nèi)進(jìn)行導(dǎo)航跳轉(zhuǎn)。一開(kāi)始想到的是通過(guò)描點(diǎn)定位,但是跳轉(zhuǎn)效果不好,沒(méi)有過(guò)渡的動(dòng)畫(huà)。后來(lái)試了scrollIntoView和scroll-behavior: smooth,一方面瀏覽器兼容性不好,另一方面無(wú)法控制過(guò)渡時(shí)間,內(nèi)容很多時(shí)跳轉(zhuǎn)太慢。于是自己封裝了一個(gè)跳轉(zhuǎn)函數(shù),支持立刻跳轉(zhuǎn)、線性過(guò)渡、先快后慢(緩動(dòng))三種跳轉(zhuǎn)方式。此模塊由原生JS編寫(xiě),不依賴(lài)其他插件庫(kù)。
演示詳見(jiàn):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) // 指定過(guò)渡時(shí)間(單位ms) scrollTo(scrollEle, 500, { duration: 500}) // 指定過(guò)渡動(dòng)畫(huà)效果, 支持"gradually"/"liner"/"instant" scrollTo(scrollEle, 500, { timingFunction: "gradually"}) // 指定過(guò)渡時(shí)間和動(dòng)畫(huà)效果 scrollTo(scrollEle, 500, { timingFunction: "liner", duration: 500}) // 指定緩動(dòng)因子, 只對(duì)"gradually"方式有效 scrollTo(scrollEle, 500, { timingFunction: "gradually", factor: 6})函數(shù)說(shuō)明
function scrollTo (ele, pos, [options])
ele target scrollable element
pos
options
timingFunction
duration
factor
項(xiàng)目地址:https://github.com/TheoXiong/... ??歡迎star
文章版權(quán)歸作者所有,未經(jīng)允許請(qǐng)勿轉(zhuǎn)載,若此文章存在違規(guī)行為,您可以聯(lián)系管理員刪除。
轉(zhuǎn)載請(qǐng)注明本文地址:http://m.hztianpu.com/yun/100121.html
摘要:完整代碼如下移動(dòng)端隱藏滾動(dòng)條解決方案解決上滑動(dòng)不流暢推薦娃娃日用品美妝護(hù)膚娃娃日用品美妝護(hù)膚娃娃 HTML代碼如下 移動(dòng)端隱藏滾動(dòng)條解決方案 * { padding: 0; margin: 0; } .par-type { height: 50px; ...
摘要:完整代碼如下移動(dòng)端隱藏滾動(dòng)條解決方案解決上滑動(dòng)不流暢推薦娃娃日用品美妝護(hù)膚娃娃日用品美妝護(hù)膚娃娃 HTML代碼如下 移動(dòng)端隱藏滾動(dòng)條解決方案 * { padding: 0; margin: 0; } .par-type { height: 50px; ...
摘要:在瀏覽器中,頁(yè)面默認(rèn)滾動(dòng)是在標(biāo)簽上,移動(dòng)端大多數(shù)在標(biāo)簽上,在我們想要實(shí)現(xiàn)平滑回到頂部,只需在這兩個(gè)標(biāo)簽上都加上準(zhǔn)確的說(shuō),寫(xiě)在容器元素上,可以讓容器非鼠標(biāo)手勢(shì)觸發(fā)的滾動(dòng)變得平滑,而不局限于,標(biāo)簽。 前言 在實(shí)際應(yīng)用中,經(jīng)常用到滾動(dòng)到頁(yè)面頂部或某個(gè)位置,一般簡(jiǎn)單用錨點(diǎn)處理或用js將document.body.scrollTop設(shè)置為0,結(jié)果是頁(yè)面一閃而過(guò)滾到指定位置,不是特別友好。我們想要...
閱讀 1709·2021-10-25 09:46
閱讀 3333·2021-10-08 10:04
閱讀 2448·2021-09-06 15:00
閱讀 2886·2021-08-19 10:57
閱讀 2147·2019-08-30 11:03
閱讀 1053·2019-08-30 11:00
閱讀 2498·2019-08-26 17:10
閱讀 3632·2019-08-26 13:36