數字滾動動畫效果 vue組件化


參考了這篇文章,作者思路很清晰,簡單做了下修改,蟹蟹作者,鏈接在此:https://www.jb51.net/css/685357.html#comments

主要思路是利用css屬性writing-mode:vertical-lr;通過設定最大字符長度,補零,去循環,然后添加style translate和transition來完成想要的效果;

子組件根據父組件傳給的數值,父或者子刷新這個定時器都可以,以下我們的demo將在子組件進行定時刷新;

首先子組件dom結構:

 

 css樣式:

 

 然后就是子組件接收父組件傳給的值,默認值給0:

 

定義所需數據:

 

 

 

 

初始化的時候執行定時刷新,結束時記得清空定時器;建議定時器放在父組件,這里只是為了展示效果所以放在子組件。

 

 還有就是,父組件傳來新的值時,需要觸發子組件刷新,這里我們在子組件用watch監聽下,執行下相應方法:

 

 父組件調用下並傳入相應值就可以了:

 

 

 

  父組件傳值有變化時 ,數字會自動滾動到相應位置:動畫時間可以自己設定,效果如圖所示:

此組件剛發現有個兼容性問題,css樣式里的

text-orientation:upright;在safari瀏覽器中並不生效,曲線救國就是改變dom結構:

 

 就可以了。

 


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM