• <fieldset id="8imwq"><menu id="8imwq"></menu></fieldset>
  • <bdo id="8imwq"><input id="8imwq"></input></bdo>
    最新文章專題視頻專題問(wèn)答1問(wèn)答10問(wèn)答100問(wèn)答1000問(wèn)答2000關(guān)鍵字專題1關(guān)鍵字專題50關(guān)鍵字專題500關(guān)鍵字專題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關(guān)鍵字專題關(guān)鍵字專題tag2tag3文章專題文章專題2文章索引1文章索引2文章索引3文章索引4文章索引5123456789101112131415文章專題3
    問(wèn)答文章1 問(wèn)答文章501 問(wèn)答文章1001 問(wèn)答文章1501 問(wèn)答文章2001 問(wèn)答文章2501 問(wèn)答文章3001 問(wèn)答文章3501 問(wèn)答文章4001 問(wèn)答文章4501 問(wèn)答文章5001 問(wèn)答文章5501 問(wèn)答文章6001 問(wèn)答文章6501 問(wèn)答文章7001 問(wèn)答文章7501 問(wèn)答文章8001 問(wèn)答文章8501 問(wèn)答文章9001 問(wèn)答文章9501
    當(dāng)前位置: 首頁(yè) - 科技 - 知識(shí)百科 - 正文

    原生JS檢測(cè)CSS3動(dòng)畫(huà)是否結(jié)束的方法詳解

    來(lái)源:懂視網(wǎng) 責(zé)編:小采 時(shí)間:2020-11-27 22:01:31
    文檔

    原生JS檢測(cè)CSS3動(dòng)畫(huà)是否結(jié)束的方法詳解

    原生JS檢測(cè)CSS3動(dòng)畫(huà)是否結(jié)束的方法詳解:本文實(shí)例講述了原生JS檢測(cè)CSS3動(dòng)畫(huà)是否結(jié)束的方法。分享給大家供大家參考,具體如下: 不知道大家在做網(wǎng)頁(yè)的時(shí)候有沒(méi)有碰到這種情況:當(dāng)你使用CSS3的動(dòng)畫(huà)屬性時(shí),想要在動(dòng)畫(huà)結(jié)束后添加一系列操作,但往往這些操作可能會(huì)發(fā)生在與動(dòng)畫(huà)同時(shí)出現(xiàn)或者是在動(dòng)畫(huà)還沒(méi)
    推薦度:
    導(dǎo)讀原生JS檢測(cè)CSS3動(dòng)畫(huà)是否結(jié)束的方法詳解:本文實(shí)例講述了原生JS檢測(cè)CSS3動(dòng)畫(huà)是否結(jié)束的方法。分享給大家供大家參考,具體如下: 不知道大家在做網(wǎng)頁(yè)的時(shí)候有沒(méi)有碰到這種情況:當(dāng)你使用CSS3的動(dòng)畫(huà)屬性時(shí),想要在動(dòng)畫(huà)結(jié)束后添加一系列操作,但往往這些操作可能會(huì)發(fā)生在與動(dòng)畫(huà)同時(shí)出現(xiàn)或者是在動(dòng)畫(huà)還沒(méi)

    本文實(shí)例講述了原生JS檢測(cè)CSS3動(dòng)畫(huà)是否結(jié)束的方法。分享給大家供大家參考,具體如下:

    不知道大家在做網(wǎng)頁(yè)的時(shí)候有沒(méi)有碰到這種情況:當(dāng)你使用CSS3的動(dòng)畫(huà)屬性時(shí),想要在動(dòng)畫(huà)結(jié)束后添加一系列操作,但往往這些操作可能會(huì)發(fā)生在與動(dòng)畫(huà)同時(shí)出現(xiàn)或者是在動(dòng)畫(huà)還沒(méi)結(jié)束時(shí)就發(fā)生了。

    針對(duì)這種情況我們會(huì)使用js來(lái)監(jiān)聽(tīng)動(dòng)畫(huà)是否結(jié)束即它的style的transition屬性是否為transitionend;下面我們通過(guò)一個(gè)簡(jiǎn)單的例子來(lái)理解一下我這句話的含義:

    代碼如下:

    <!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>通過(guò)原生js檢測(cè)CSS3的動(dòng)畫(huà)結(jié)束</title>
     <style>
     *{padding: 0;margin: 0;}
     .test{
     width: 200px;
     height: 200px;
     border: 1px soli black;
     background: red;
     transition-property:width;
     transition-duration: 3s;
     }
     /* 動(dòng)畫(huà) */
     .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">開(kāi)始運(yùn)動(dòng)</button>
    </body>
    <script>
     // 示例動(dòng)畫(huà)主要是改變div的寬度
     // 主要是通過(guò)檢測(cè)transition的值是否為transitionend
     function init() {
     var main = document.getElementById('main');
     var play = document.getElementById('play');
     var test = document.getElementsByClassName('test')[0];
     // 兼容性寫(xiě)法
     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');
     };
     // 接收返回的當(dāng)前瀏覽器的transition的值
     var setTransitions = getTransitions();
     // 添加監(jiān)聽(tīng)事件
     setTransitions && main.addEventListener(setTransitions,function (params) {
     alert('動(dòng)畫(huà)結(jié)束');
     // 刪除類名move
     main.classList.remove('move');
     },false)
     }
     init();
    </script>
    </html>
    
    

    效果如下:

    可以看到當(dāng)動(dòng)畫(huà)結(jié)束時(shí)才彈出彈框可以驗(yàn)證方法的可行性。

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

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

    更多關(guān)于JavaScript相關(guān)內(nèi)容感興趣的讀者可查看本站專題:《JavaScript運(yùn)動(dòng)效果與技巧匯總》、《JavaScript切換特效與技巧總結(jié)》、《JavaScript查找算法技巧總結(jié)》、《JavaScript動(dòng)畫(huà)特效與技巧匯總》、《JavaScript錯(cuò)誤與調(diào)試技巧總結(jié)》、《JavaScript數(shù)據(jù)結(jié)構(gòu)與算法技巧總結(jié)》、《JavaScript遍歷算法與技巧總結(jié)》及《JavaScript數(shù)學(xué)運(yùn)算用法總結(jié)》

    希望本文所述對(duì)大家JavaScript程序設(shè)計(jì)有所幫助。

    聲明:本網(wǎng)頁(yè)內(nèi)容旨在傳播知識(shí),若有侵權(quán)等問(wèn)題請(qǐng)及時(shí)與本網(wǎng)聯(lián)系,我們將在第一時(shí)間刪除處理。TEL:177 7030 7066 E-MAIL:11247931@qq.com

    文檔

    原生JS檢測(cè)CSS3動(dòng)畫(huà)是否結(jié)束的方法詳解

    原生JS檢測(cè)CSS3動(dòng)畫(huà)是否結(jié)束的方法詳解:本文實(shí)例講述了原生JS檢測(cè)CSS3動(dòng)畫(huà)是否結(jié)束的方法。分享給大家供大家參考,具體如下: 不知道大家在做網(wǎng)頁(yè)的時(shí)候有沒(méi)有碰到這種情況:當(dāng)你使用CSS3的動(dòng)畫(huà)屬性時(shí),想要在動(dòng)畫(huà)結(jié)束后添加一系列操作,但往往這些操作可能會(huì)發(fā)生在與動(dòng)畫(huà)同時(shí)出現(xiàn)或者是在動(dòng)畫(huà)還沒(méi)
    推薦度:
    標(biāo)簽: 結(jié)束 js css3
    • 熱門焦點(diǎn)

    最新推薦

    猜你喜歡

    熱門推薦

    專題
    Top
    主站蜘蛛池模板: 国产午夜精品一本在线观看| 麻豆精品视频在线观看| 777欧美午夜精品影院| 久久久久99精品成人片| 99久久99这里只有免费的精品| 麻豆国产精品VA在线观看不卡| 国产成人精品久久二区二区| 亚洲精品自产拍在线观看| 91精品国产人成网站| 国产成人精品无码免费看| 久久这里只有精品视频99| 四虎影视884a精品国产四虎| 精品调教CHINESEGAY| 亚洲人成电影网站国产精品| 精品人妻少妇嫩草AV无码专区| 四虎最新永久在线精品免费| 国产精品美脚玉足脚交欧美| 亚洲一区精品无码| 欧美亚洲日本久久精品| 国产精品国产AV片国产| 精品一区二区三区免费| 国产精品露脸国语对白| 久久亚洲欧美国产精品| 最新国产精品无码| 无码人妻精品一区二| 久久99精品国产麻豆婷婷| 国产精品国产三级国产a| 亚洲成人精品久久| 99免费精品视频| 丰满人妻熟妇乱又仑精品| 久久九九精品99国产精品| 亚洲AV永久无码精品| 在线精品动漫一区二区无广告| 欧美成人精品网站播放 | 国产精品视频全国免费观看| 日韩精品在线观看视频| 日韩精品一区二区三区四区| 四虎成人www国产精品| 奇米精品一区二区三区在线观看| 国产成人精品高清在线观看99| 99久久国产综合精品麻豆|