自拍偷在线精品自拍偷,亚洲欧美中文日韩v在线观看不卡

Vue 超實用技巧!建立邏輯與動畫樣式的通道

開發(fā) 前端
我們公司的頁面上,有一個頁面有一個動畫效果,具體代碼我就不方便貼出來,我就拿一個小例子來大體展示一下這個簡單的動畫效果。

大家好,我是林三心,用最通俗易懂的話講最難的知識點是我的座右銘,基礎是進階的前提是我的初心。

背景

我們公司的頁面上,有一個頁面有一個動畫效果,具體代碼我就不方便貼出來,我就拿一個小例子來大體展示一下這個簡單的動畫效果。

圖片圖片

其實這個效果很好做,這不是問題的重點,我先貼出來這個動畫的代碼。

圖片圖片

支持變大變???

產(chǎn)品提出了一個需求,那就是這個球要支持變大變小,我心想,那還不簡單,搞兩個按鈕,點擊設置球的寬高不就行了?

圖片圖片

但是我寫出來后發(fā)現(xiàn)一個問題,球的寬高變大變小,他的動畫出現(xiàn)了問題。

  • 變大了,那么這個球會移動出父節(jié)點
  • 變小了,那么這個球會到達不了父節(jié)點的邊界

圖片圖片

其實問題很容易看出來,球的寬高變大變小了,但是動畫計算的移動距離一直是calc(100% - 100px)。

圖片圖片

所以解決辦法就是,當球的大小變了的時候,這個100px也得跟著改成實時的球寬才行。

但是這個100px是寫在 keyframes 中啊,我要怎么去實時地去更改呢?JavaScript怎么才能跟class去聯(lián)動呢?

css變量

誒!可以用css變量去做呀!我可以在球的節(jié)點上設置一個樣式,這個樣式是一個css常量,當我修改球寬高時,順便也修改這個css常量,然后在 keyframes 中去使用這個css變量即可!

圖片圖片

現(xiàn)在球的寬高再怎么變,它都能一直保持同樣的移動效果,不會達不到邊界也不會超出邊界了?。?!

圖片圖片

責任編輯:武曉燕 來源: 前端之神
相關推薦

2025-02-03 00:00:00

Vue.js組件緩存

2010-05-27 21:54:19

光纖通道

2020-03-09 10:31:58

vue前端開發(fā)

2009-09-04 10:27:28

Linux實用技巧linux操作系統(tǒng)linux

2022-03-23 09:18:10

Git技巧Linux

2009-12-21 15:50:39

2010-10-08 15:44:17

vim

2009-01-03 09:34:30

ASP.NET.NET性能優(yōu)化

2011-04-08 15:40:01

Oracle認證

2022-10-11 08:00:47

多線程開發(fā)技巧

2022-11-03 10:28:59

PandasSAC機制

2024-05-17 08:52:43

SQL實用技巧行列轉換

2022-05-30 09:01:13

CSS技巧前端

2017-11-13 15:16:56

GitHub代碼倉庫

2010-09-14 10:41:24

DIV+CSS排版

2009-12-09 11:21:30

Linux實用技巧

2019-11-25 10:12:59

Python技巧工具

2019-12-22 23:10:19

LinuxSSH加密

2009-12-23 17:32:35

Linux構建軟路由

2019-10-10 16:31:51

PyCharmPythonWindows
點贊
收藏

51CTO技術棧公眾號