国产 无码 综合区,色欲AV无码国产永久播放,无码天堂亚洲国产AV,国产日韩欧美女同一区二区

膜拜!用最少的代碼卻實(shí)現(xiàn)了最牛逼的滾動動畫!

這篇具有很好參考價值的文章主要介紹了膜拜!用最少的代碼卻實(shí)現(xiàn)了最牛逼的滾動動畫!。希望對大家有所幫助。如果存在錯誤或未考慮完全的地方,請大家不吝賜教,您也可以點(diǎn)擊"舉報(bào)違法"按鈕提交疑問。

大家好,我是程序視點(diǎn)的小二哥!今天小二哥帶領(lǐng)大家學(xué)習(xí)如何使用最少的代碼創(chuàng)建令人嘆為觀止的滾動動畫~

在聊ScrollTrigger插件之前我們先簡單了解下GSAP

GreenSock 動畫平臺 (GSAP) 可為 JavaScript 可以操作的任何內(nèi)容(CSS 屬性、SVG、React、畫布、通用對象等)動畫化,并解決不同瀏覽器上存在的兼容問題,而且比 jQuery快 20 倍。大約1000萬個網(wǎng)站和許多主要品牌都在使用GSAP。

接下來小二哥帶領(lǐng)大家一起學(xué)習(xí)ScrollTrigger插件的使用。

插件簡介

ScrollTrigger是基于GSAP實(shí)現(xiàn)的一款高性能頁面滾動觸發(fā)HTML元素動畫的插件。通過ScrollTrigger使用最少的代碼創(chuàng)建令人嘆為觀止的滾動動畫。我們需要知道ScrollTrigger是基于GSAP實(shí)現(xiàn)的插件,ScrollTrigger是處理滾動事件的,而真正處理動畫是GSAP,二者組合使用才能實(shí)現(xiàn)滾動動畫~

插件特點(diǎn)

  • 將任何動畫鏈接到特定元素,以便它僅在視圖中顯示該元素時才執(zhí)行該動畫。
  • 可以在進(jìn)入/離開定義的區(qū)域或?qū)⑵渲苯渔溄拥綕L動欄時在動畫上執(zhí)行操作(播放、暫停、恢復(fù)、重新啟動、反轉(zhuǎn)、完成、重置)。
  • 延遲動畫和滾動條之間的同步。
  • 根據(jù)速度捕捉動畫中的進(jìn)度值。
  • 嵌入滾動直接觸發(fā)到任何 GSAP 動畫(包括時間線)或創(chuàng)建獨(dú)立實(shí)例,并利用豐富的回調(diào)系統(tǒng)做任何您想做的事。
  • 高級固定功能可以在某些滾動位置之間鎖定一個元素。
  • 靈活定義滾動位置。
  • 支持垂直或水平滾動。
  • 豐富的回調(diào)系統(tǒng)。
  • 當(dāng)窗口調(diào)整大小時,自動重新計(jì)算位置。
  • 在開發(fā)過程中啟用視覺標(biāo)記,以準(zhǔn)確查看開始/結(jié)束/觸發(fā)點(diǎn)的位置。
  • 在滾動記錄器處于活動狀態(tài)時,如將active類添加到觸發(fā)元素中:toggleClass: "active"
  • 使用 matchMedia() 標(biāo)準(zhǔn)媒體查詢?yōu)楦鞣N屏幕尺寸創(chuàng)建不同的設(shè)置。
  • 自定義滾動觸發(fā)器容器,可以定義一個 div 而不一定是瀏覽器視口。
  • 高度優(yōu)化以實(shí)現(xiàn)最大性能。
  • 插件大約只有6.5kb大小。

安裝

CDN

<script?src="https://cdnjs.cloudflare.com/ajax/libs/gsap/3.8.0/gsap.min.js"></script>  
<script?src="https://cdnjs.cloudflare.com/ajax/libs/gsap/3.8.0/ScrollTrigger.min.js"></script>  

ES Modules

import?{?gsap?}?from?"gsap";  
import?{?ScrollTrigger?}?from?"gsap/ScrollTrigger";  
  
gsap.registerPlugin(ScrollTrigger);  

UMD/CommonJS

import?{?gsap?}?from?"gsap/dist/gsap";  
import?{?ScrollTrigger?}?from?"gsap/dist/ScrollTrigger";  
  
gsap.registerPlugin(ScrollTrigger);  
  

簡單示例

gsap.to(".box",?{  
??scrollTrigger:?".box",?//?start?the?animation?when?".box"?enters?the?viewport?(once)  
??x:?500  
});  

高級示例

let?tl?=?gsap.timeline({  
????//?添加到整個時間線?  
????scrollTrigger:?{  
??????trigger:?".container",  
??????pin:?true,???//?在執(zhí)行時固定觸發(fā)器元素  
??????start:?"top?top",?//?當(dāng)觸發(fā)器的頂部碰到視口的頂部時  
??????end:?"+=500",?//?在滾動?500?px后結(jié)束  
??????scrub:?1,?//?觸發(fā)器1秒后跟上滾動條  
??????snap:?{  
????????snapTo:?"labels",?//?捕捉時間線中最近的標(biāo)簽  
????????duration:?{min:?0.2,?max:?3},?//?捕捉動畫應(yīng)至少為?0.2?秒,但不超過?3?秒(由速度決定)?  
????????delay:?0.2,?//?從上次滾動事件開始等待?0.2?秒,然后再進(jìn)行捕捉?  
????????ease:?"power1.inOut"?//?捕捉動畫的過度時間(默認(rèn)為“power3”)?  
??????}  
????}  
??});  
  
//?向時間線添加動畫和標(biāo)簽?  
tl.addLabel("start")  
??.from(".box?p",?{scale:?0.3,?rotation:45,?autoAlpha:?0})  
??.addLabel("color")  
??.from(".box",?{backgroundColor:?"#28a92b"})  
??.addLabel("spin")  
??.to(".box",?{rotation:?360})  
??.addLabel("end");  

自定義示例

ScrollTrigger.create({  
??trigger:?"#id",  
??start:?"top?top",  
??endTrigger:?"#otherID",  
??end:?"bottom?50%+=100px",  
??onToggle:?self?=>?console.log("toggled,?isActive:",?self.isActive),  
??onUpdate:?self?=>?{  
????console.log("progress:",?self.progress.toFixed(3),?"direction:",?self.direction,?"velocity",?self.getVelocity());  
??}  
});  

接下來,我們一起來看使用ScrollTrigger可以實(shí)現(xiàn)什么樣的效果吧~

效果演示

膜拜!用最少的代碼卻實(shí)現(xiàn)了最牛逼的滾動動畫!
膜拜!用最少的代碼卻實(shí)現(xiàn)了最牛逼的滾動動畫!
膜拜!用最少的代碼卻實(shí)現(xiàn)了最牛逼的滾動動畫!
膜拜!用最少的代碼卻實(shí)現(xiàn)了最牛逼的滾動動畫!
膜拜!用最少的代碼卻實(shí)現(xiàn)了最牛逼的滾動動畫!

利用ScrollTrigger可以實(shí)現(xiàn)很多炫酷的效果,還有更多示例及源代碼,歡迎查閱官網(wǎng)哦~文章來源地址http://www.zghlxwxcb.cn/news/detail-624500.html

到了這里,關(guān)于膜拜!用最少的代碼卻實(shí)現(xiàn)了最牛逼的滾動動畫!的文章就介紹完了。如果您還想了解更多內(nèi)容,請?jiān)谟疑辖撬阉鱐OY模板網(wǎng)以前的文章或繼續(xù)瀏覽下面的相關(guān)文章,希望大家以后多多支持TOY模板網(wǎng)!

本文來自互聯(lián)網(wǎng)用戶投稿,該文觀點(diǎn)僅代表作者本人,不代表本站立場。本站僅提供信息存儲空間服務(wù),不擁有所有權(quán),不承擔(dān)相關(guān)法律責(zé)任。如若轉(zhuǎn)載,請注明出處: 如若內(nèi)容造成侵權(quán)/違法違規(guī)/事實(shí)不符,請點(diǎn)擊違法舉報(bào)進(jìn)行投訴反饋,一經(jīng)查實(shí),立即刪除!

領(lǐng)支付寶紅包贊助服務(wù)器費(fèi)用

相關(guān)文章

  • 盤盤那些牛逼的勒索病毒(附樣本)

    給大家盤盤前些年的比較牛的勒索病毒吧。(挑幾個有代表性的)順便送一份樣本給你們。 威脅等級:三級 TeslaCrypt,它能夠?qū)ξ臋n進(jìn)行AES加密。這個惡意軟件似乎是由以前的Cryptowall進(jìn)行改編的,能夠針對不同的防火墻或者軟殺進(jìn)行變異。這個惡意軟件很有趣,它會更具不同

    2024年02月13日
    瀏覽(21)
  • StableStudio,比Midjourney還牛逼的繪畫平臺,免費(fèi)!

    StableStudio,比Midjourney還牛逼的繪畫平臺,免費(fèi)!

    大家好,我是鳥哥。 之前給大家推薦過Midjourney和Bluewillow兩個AI繪畫平臺:簡直了!比Midjourney更刺激,還免費(fèi)!Midjourney功能超級強(qiáng)大,但比較傲嬌,很貴,是否讓用戶免費(fèi)體驗(yàn)要看心情;Bluewillow免費(fèi),但質(zhì)量稍微差了一點(diǎn)。 今天呢,再給大家推薦一個AI繪圖平臺——StableS

    2024年02月09日
    瀏覽(21)
  • 7個CICD工具大比拼,誰最牛逼

    7個CICD工具大比拼,誰最牛逼

    Devops的盛行推動著CI/CD工具的快速發(fā)展,除了傳統(tǒng)的CI工具,也出現(xiàn)了很多新興的CI/CD框架,這些框架各有優(yōu)缺點(diǎn),究竟該如何選擇,在特定場景下誰更強(qiáng)、更合適呢? 本文列舉了Jenkins、Travis CI、Circle CI、TeamCity、Codeship、Gitlab CI、Bamboo共7個目前市場上最常見的CI/CD工具,做整

    2024年02月07日
    瀏覽(18)
  • 【 一個比 ping 更強(qiáng)大、更牛逼的命令行工具!】

    【 一個比 ping 更強(qiáng)大、更牛逼的命令行工具!】

    遇到網(wǎng)絡(luò)故障的時候,你一般會最先使用哪條命令進(jìn)行排障? 除了Ping,還有Traceroute、Show、Telnet又或是Clear、Debug等等。 今天安排的,是Traceroute命令詳解,還有經(jīng)典排障案例哈。 Traceroute 原理和功能 traceroute是一個常用的Linux網(wǎng)絡(luò)診斷命令,用于追蹤數(shù)據(jù)包從源主機(jī)到目標(biāo)主

    2024年02月06日
    瀏覽(24)
  • 牛逼的python庫-使用FuzzyWuzzy庫進(jìn)行模糊字符串匹配

    FuzzyWuzzy是一個Python庫,用于模糊字符串匹配和字符串相似度計(jì)算。它基于Levenshtein距離算法,用于比較兩個字符串之間的差異。 下面是FuzzyWuzzy庫的一些常見用法: 導(dǎo)入庫和模塊: 使用 fuzz.ratio 計(jì)算兩個字符串之間的相似度: 這會計(jì)算出兩個字符串之間的相似度百分比。 使

    2024年02月12日
    瀏覽(24)
  • 帶你深入了解spark(重生之最牛逼最詳細(xì)版)

    帶你深入了解spark(重生之最牛逼最詳細(xì)版)

    Spark 是當(dāng)今大數(shù)據(jù)領(lǐng)域最活躍、最熱門、最高效的大數(shù)據(jù)通用計(jì)算平臺之一。 spark官網(wǎng):Apache Spark? - Unified Engine for large-scale data analytics? spark概述 第一階段:Spark最初由美國加州伯克利大學(xué)( UC Berkelcy)的AMP實(shí)驗(yàn)室于2009年開發(fā),是基于內(nèi)存計(jì)算的大數(shù)據(jù)并行計(jì)算框架,可用于

    2024年04月14日
    瀏覽(28)
  • 教你成為比卡卡西還牛逼的全能忍者,全拷貝與分割函數(shù)

    教你成為比卡卡西還牛逼的全能忍者,全拷貝與分割函數(shù)

    ?如何成為一個集雷切,寫輪眼偵查和拷貝與一身的卡卡西,下面教你! 目錄 ?第一式——雷切!? strtok 第二式——寫輪眼偵查! strerror函數(shù) 第三式——寫輪眼拷貝! memcpy ?模擬實(shí)現(xiàn)memcpy函數(shù) ? ??博客昵稱:陳大大陳 ??座右銘:所謂覺悟,就是在漆黑的荒野上開辟出一條

    2024年01月19日
    瀏覽(17)
  • 這個牛逼的Python模塊,能讓你輕松模擬并記錄鍵盤操作(附零基礎(chǔ)學(xué)習(xí)資料)

    這個牛逼的Python模塊,能讓你輕松模擬并記錄鍵盤操作(附零基礎(chǔ)學(xué)習(xí)資料)

    模擬鍵盤操作執(zhí)行自動化任務(wù),我們常用的有 pyautowin 等自動化操作模塊。但是這些模塊有一個很大的缺點(diǎn),編譯的時候非常依賴 windows 的C語言底層模塊。 (文末送福利) 今天介紹的這個模塊叫做 keyboard 它有一個最大的優(yōu)點(diǎn):純Python原生開發(fā),編譯時完全不需要依賴C語言模

    2024年02月13日
    瀏覽(19)
  • 一個超級牛逼的消息推送系統(tǒng)Gotify 使用Gotify來搭建你的消息推送系統(tǒng)

    一個超級牛逼的消息推送系統(tǒng)Gotify 使用Gotify來搭建你的消息推送系統(tǒng)

    目錄 先看效果 簡介 1.1創(chuàng)建目錄 3.訪問服務(wù)端 3.1示例 3.2創(chuàng)建應(yīng)用 4.安裝apk 4.1下載apk 4.2安裝 4.3配置服務(wù)器地址 5.推送消息測試 5.1服務(wù)器執(zhí)行 5.2手機(jī)端查看 支持刪除 6.源碼地址? 打開應(yīng)用 gotify 支持的功能如下 可以通過 restapi 發(fā)送消息 可以通過 websocket 接收消息 可以管理用

    2024年01月17日
    瀏覽(20)
  • 作為一名程序員,如何寫出一手讓同事膜拜的漂亮代碼?

    作為一名程序員,如何寫出一手讓同事膜拜的漂亮代碼?

    整潔的代碼 有意義的命名 函數(shù)命名 變量命名 函數(shù)的定義 注釋的規(guī)范 代碼的長度 代碼的對齊 我寫代碼已經(jīng)有好幾年了,最近看了一本書叫做《代碼整潔之道》。我發(fā)現(xiàn)這本書中介紹的一些內(nèi)容對我來說非常有啟發(fā)性。書中提到的一些方法和技巧讓我重新審視了自己的代碼

    2024年02月02日
    瀏覽(25)

覺得文章有用就打賞一下文章作者

支付寶掃一掃打賞

博客贊助

微信掃一掃打賞

請作者喝杯咖啡吧~博客贊助

支付寶掃一掃領(lǐng)取紅包,優(yōu)惠每天領(lǐng)

二維碼1

領(lǐng)取紅包

二維碼2

領(lǐng)紅包