javascript判斷css3動(dòng)畫結(jié)束 css3動(dòng)畫結(jié)束的回調(diào)函數(shù)
css3 的時(shí)代,css3--動(dòng)畫 一切皆有可能;
傳統(tǒng)的js 可以通過回調(diào)函數(shù)判斷動(dòng)畫是否結(jié)束;即使是采用CSS技術(shù)生成動(dòng)畫效果,JavaScript仍然能捕獲動(dòng)畫或變換的結(jié)束事件;
transitionend事件和animationend事件標(biāo)準(zhǔn)的瀏覽器事件,但在WebKit瀏覽器里你仍然需要使用webkit前綴,所以,我們不得不根據(jù)各種瀏覽器分別檢測(cè)事件
var transitions = {
'transition':'transitionend',
'OTransition':'oTransitionEnd',
'MozTransition':'transitionend',
'WebkitTransition':'webkitTransitionEnd'
}
下面附上源代碼:
<!doctype html>
<html>
<head>
<meta charset="utf-8">
<title>suface js判斷css動(dòng)畫是否結(jié)束</title>
</head>
<body>
<p>一旦動(dòng)畫或變換結(jié)束,回調(diào)函數(shù)就會(huì)觸發(fā)。不再需要大型類庫(kù)支持。<br> </p>
<style type="text/css">
.sample {
width: 200px;
height: 200px;
border: 1px solid green;
background: lightgreen;
opacity: 1;
margin-bottom: 20px;
transition-property: opacity;
/*transition-duration: .5s;*/
transition-duration:3s;
}
.sample.hide {
opacity: 0;
}
</style>
<div class="sample">css3動(dòng)畫過度慢慢隱藏(transition-duration:3s;)</div>
<p><button onclick="this.style.display='none';startFade();">慢慢消退,檢測(cè)結(jié)束事件</button></p>
<script>
(function() {
var e = document.getElementsByClassName('sample')[0];
function whichTransitionEvent(){
var t;
var el = document.createElement('fakeelement');
var transitions = {
'transition':'transitionend',
'OTransition':'oTransitionEnd',
'MozTransition':'transitionend',
'WebkitTransition':'webkitTransitionEnd'
}
for(t in transitions){
if( el.style[t] !== undefined ){
return transitions[t];
}
}
}
var transitionEvent = whichTransitionEvent();
transitionEvent && e.addEventListener(transitionEvent, function() {
alert('css3運(yùn)動(dòng)結(jié)束!我是回調(diào)函數(shù),沒有使用第三方類庫(kù)!');
});
startFade = function() {
e.className+= ' hide';
}
})();<br></script>
</body>
</html>
以上就是本文所述的關(guān)于javascript判斷CSS3動(dòng)畫結(jié)束的方法,希望大家能夠喜歡
- javascript與css3動(dòng)畫結(jié)合使用小結(jié)
- 原生javascript+css3編寫的3D魔方動(dòng)畫旋扭特效
- 用Move.js配合創(chuàng)建CSS3動(dòng)畫的入門指引
- JS判斷頁面加載狀態(tài)以及添加遮罩和緩沖動(dòng)畫的代碼
- 深入探究使JavaScript動(dòng)畫流暢的一些方法
- JS+CSS實(shí)現(xiàn)網(wǎng)頁加載中的動(dòng)畫效果
- js動(dòng)畫(animate)簡(jiǎn)單引擎代碼示例
- JS簡(jiǎn)單實(shí)現(xiàn)動(dòng)畫彈出層效果
- 原生JS檢測(cè)CSS3動(dòng)畫是否結(jié)束的方法詳解
相關(guān)文章
JS沙箱繞過以及競(jìng)爭(zhēng)條件型漏洞復(fù)現(xiàn)
沙箱繞過"是指攻擊者利用各種方法和技術(shù)來規(guī)避或繞過應(yīng)用程序或系統(tǒng)中的沙箱,本文主要介紹了JS沙箱繞過以及競(jìng)爭(zhēng)條件型漏洞復(fù)現(xiàn),具有一定的參考價(jià)值,感興趣的可以了解一下2023-08-08百度Popup.js彈出框進(jìn)化版 拖拽小框架發(fā)布 兼容IE6/7/8,Firefox,Chrome
百度空間的彈出窗口和拖拽效果(也就是popup.js),代碼精簡(jiǎn),效果也很好,我們可以在很多大型網(wǎng)站上見到這種效果,在我的項(xiàng)目中也使用了該js。2010-04-04JavaScript面向?qū)ο蟮某绦蛟O(shè)計(jì)(犯迷糊的小羊)
這篇文章主要介紹了JavaScript面向?qū)ο蟮某绦蛟O(shè)計(jì)(犯迷糊的小羊),需要的朋友可以參考下2018-05-05JavaScript 實(shí)現(xiàn)自己的安卓手機(jī)自動(dòng)化工具腳本(推薦)
這篇文章主要介紹了 JavaScript 實(shí)現(xiàn)自己的安卓手機(jī)自動(dòng)化工具腳本,本文給大家介紹的非常詳細(xì),對(duì)大家的學(xué)習(xí)或工作具有一定的參考借鑒價(jià)值,需要的朋友可以參考下2020-05-05JavaScript獲取對(duì)象key的幾種方法和區(qū)別
這篇文章主要介紹了JavaScript獲取對(duì)象key的幾種方法和區(qū)別,下面文章更多的相關(guān)資料需要的小伙伴可以參考一下,希望對(duì)你有所幫助2022-03-03