国产99久久精品_欧美日本韩国一区二区_激情小说综合网_欧美一级二级视频_午夜av电影_日本久久精品视频

最新文章專題視頻專題問答1問答10問答100問答1000問答2000關鍵字專題1關鍵字專題50關鍵字專題500關鍵字專題1500TAG最新視頻文章推薦1 推薦3 推薦5 推薦7 推薦9 推薦11 推薦13 推薦15 推薦17 推薦19 推薦21 推薦23 推薦25 推薦27 推薦29 推薦31 推薦33 推薦35 推薦37視頻文章20視頻文章30視頻文章40視頻文章50視頻文章60 視頻文章70視頻文章80視頻文章90視頻文章100視頻文章120視頻文章140 視頻2關鍵字專題關鍵字專題tag2tag3文章專題文章專題2文章索引1文章索引2文章索引3文章索引4文章索引5123456789101112131415文章專題3
問答文章1 問答文章501 問答文章1001 問答文章1501 問答文章2001 問答文章2501 問答文章3001 問答文章3501 問答文章4001 問答文章4501 問答文章5001 問答文章5501 問答文章6001 問答文章6501 問答文章7001 問答文章7501 問答文章8001 問答文章8501 問答文章9001 問答文章9501
當前位置: 首頁 - 科技 - 知識百科 - 正文

原生JS檢測CSS3動畫是否結束的方法詳解

來源:懂視網 責編:小采 時間:2020-11-27 22:01:31
文檔

原生JS檢測CSS3動畫是否結束的方法詳解

原生JS檢測CSS3動畫是否結束的方法詳解:本文實例講述了原生JS檢測CSS3動畫是否結束的方法。分享給大家供大家參考,具體如下: 不知道大家在做網頁的時候有沒有碰到這種情況:當你使用CSS3的動畫屬性時,想要在動畫結束后添加一系列操作,但往往這些操作可能會發生在與動畫同時出現或者是在動畫還沒
推薦度:
導讀原生JS檢測CSS3動畫是否結束的方法詳解:本文實例講述了原生JS檢測CSS3動畫是否結束的方法。分享給大家供大家參考,具體如下: 不知道大家在做網頁的時候有沒有碰到這種情況:當你使用CSS3的動畫屬性時,想要在動畫結束后添加一系列操作,但往往這些操作可能會發生在與動畫同時出現或者是在動畫還沒

本文實例講述了原生JS檢測CSS3動畫是否結束的方法。分享給大家供大家參考,具體如下:

不知道大家在做網頁的時候有沒有碰到這種情況:當你使用CSS3的動畫屬性時,想要在動畫結束后添加一系列操作,但往往這些操作可能會發生在與動畫同時出現或者是在動畫還沒結束時就發生了。

針對這種情況我們會使用js來監聽動畫是否結束即它的style的transition屬性是否為transitionend;下面我們通過一個簡單的例子來理解一下我這句話的含義:

代碼如下:

<!DOCTYPE html>
<html lang="en">
<head>
 <meta charset="UTF-8">
 <meta name="viewport" content="width=device-width, initial-scale=1.0">
 <meta http-equiv="X-UA-Compatible" content="ie=edge">
 <title>通過原生js檢測CSS3的動畫結束</title>
 <style>
 *{padding: 0;margin: 0;}
 .test{
 width: 200px;
 height: 200px;
 border: 1px soli black;
 background: red;
 transition-property:width;
 transition-duration: 3s;
 }
 /* 動畫 */
 .test.move{
 width:600px;
 }
 button{
 width: 80px;
 height: 25px;
 font-size: 16px;
 text-align: center;
 line-height: 25px;
 }
 </style>
</head>
<body>
 <div class="test" id="main">
 </div>
 <button id="play">開始運動</button>
</body>
<script>
 // 示例動畫主要是改變div的寬度
 // 主要是通過檢測transition的值是否為transitionend
 function init() {
 var main = document.getElementById('main');
 var play = document.getElementById('play');
 var test = document.getElementsByClassName('test')[0];
 // 兼容性寫法
 transitions = {
 // 兼容IE
 'transition': 'transitionend',
 // 兼容Opera
 'OTransition': 'oTransitionEnd',
 // 兼容Firefox
 'MozTransition': 'transitionend',
 // 兼容Google
 'WebkitTransition': 'webkitTransitionEnd'
 };
 function getTransitions() {
 var t;
 for (t in transitions) {
 // t即transition,OTransition,MozTransition,WebkitTransition
 if (main.style[t] !== undefined) {
 return transitions[t];
 }
 }
 }
 // 按鈕添加click事件
 play.onclick = function () {
 main.classList.add('move');
 };
 // 接收返回的當前瀏覽器的transition的值
 var setTransitions = getTransitions();
 // 添加監聽事件
 setTransitions && main.addEventListener(setTransitions,function (params) {
 alert('動畫結束');
 // 刪除類名move
 main.classList.remove('move');
 },false)
 }
 init();
</script>
</html>

效果如下:

可以看到當動畫結束時才彈出彈框可以驗證方法的可行性。

最后提一下,這個方法仍存在一些問題,比如你改變兩個屬性:寬度和高度,可能就會觸發這個方法兩次或者多次,所以使用的時候要注意一下。

感興趣的朋友可以使用在線HTML/CSS/JavaScript代碼運行工具:http://tools.jb51.net/code/HtmlJsRun測試一下運行效果。

更多關于JavaScript相關內容感興趣的讀者可查看本站專題:《JavaScript運動效果與技巧匯總》、《JavaScript切換特效與技巧總結》、《JavaScript查找算法技巧總結》、《JavaScript動畫特效與技巧匯總》、《JavaScript錯誤與調試技巧總結》、《JavaScript數據結構與算法技巧總結》、《JavaScript遍歷算法與技巧總結》及《JavaScript數學運算用法總結》

希望本文所述對大家JavaScript程序設計有所幫助。

聲明:本網頁內容旨在傳播知識,若有侵權等問題請及時與本網聯系,我們將在第一時間刪除處理。TEL:177 7030 7066 E-MAIL:11247931@qq.com

文檔

原生JS檢測CSS3動畫是否結束的方法詳解

原生JS檢測CSS3動畫是否結束的方法詳解:本文實例講述了原生JS檢測CSS3動畫是否結束的方法。分享給大家供大家參考,具體如下: 不知道大家在做網頁的時候有沒有碰到這種情況:當你使用CSS3的動畫屬性時,想要在動畫結束后添加一系列操作,但往往這些操作可能會發生在與動畫同時出現或者是在動畫還沒
推薦度:
標簽: 結束 js css3
  • 熱門焦點

最新推薦

猜你喜歡

熱門推薦

專題
Top
主站蜘蛛池模板: 91视频国产一区 | 国产精品久久久久无码av | 精品久久一区二区 | 国产综合精品一区二区 | 国产精品不卡视频 | 最新国产在线视频 | 国产高清免费视频 | 最近中文字幕电影在线看 | 久久99免费 | 亚洲人成网站999久久久综合 | 日韩一级精品久久久久 | 国产在线视频在线观看 | 欧美 日韩 高清 | 一区二区中文字幕 | 亚洲欧美网站 | 91啪国自产在线高清观看 | 亚洲伊人国产 | 国产成人精品一区二区 | 亚洲欧美另类视频 | 日韩欧美亚洲 | 日韩国产综合 | 亚洲一二三区在线观看 | 亚洲国产精品久久久久666 | 91精品国产91久久久久久最新 | 国产精品免费观看网站 | 国产中文字幕在线视频 | 国产成人不卡亚洲精品91 | 午夜大片在线观看 | 久久2| 日韩精品一区二区三区毛片 | 影音先锋在线视频 | 欧美我不卡 | 人与禽一级一级毛片 | 亚洲欧美一区二区三区久久 | 国产精久久一区二区三区 | 欧美日本在线视频 | 欧美极品第1页专区 | 色伊人久久 | 国产欧美日韩在线不卡第一页 | 国产成人免费视频精品一区二区 | 午夜欧美 |