javascript判斷css3動畫結(jié)束 css3動畫結(jié)束的回調(diào)函數(shù)
來源:易賢網(wǎng) 閱讀:2824 次 日期:2015-03-12 11:48:42
溫馨提示:易賢網(wǎng)小編為您整理了“javascript判斷css3動畫結(jié)束 css3動畫結(jié)束的回調(diào)函數(shù)”,方便廣大網(wǎng)友查閱!

本文主要給大家介紹的是如何使用javascript判斷CSS3動畫效果結(jié)束,主要是使用了javascript的回調(diào)函數(shù),其思路是一旦動畫或變換結(jié)束,回調(diào)函數(shù)就會觸發(fā)。不再需要大型類庫支持,非常的簡單實用,推薦給大家。

css3 的時代,css3--動畫 一切皆有可能;

javascript判斷css3動畫結(jié)束 css3動畫結(jié)束的回調(diào)函數(shù) 三聯(lián)

傳統(tǒng)的js 可以通過回調(diào)函數(shù)判斷動畫是否結(jié)束;即使是采用CSS技術(shù)生成動畫效果,JavaScript仍然能捕獲動畫或變換的結(jié)束事件;

transitionend事件和animationend事件標準的瀏覽器事件,但在WebKit瀏覽器里你仍然需要使用webkit前綴,所以,我們不得不根據(jù)各種瀏覽器分別檢測事件

代碼如下:

var transitions = {

'transition':'transitionend',

'OTransition':'oTransitionEnd',

'MozTransition':'transitionend',

'WebkitTransition':'webkitTransitionEnd'

}

下面附上源代碼:

代碼如下:

<!doctype html>

<html>

<head>

<meta charset="utf-8">

<title>suface js判斷css動畫是否結(jié)束</title>

</head>

<body>

<p>一旦動畫或變換結(jié)束,回調(diào)函數(shù)就會觸發(fā)。不再需要大型類庫支持。<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動畫過度慢慢隱藏(transition-duration:3s;)</div>

<p><button onclick="this.style.display='none';startFade();">慢慢消退,檢測結(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運動結(jié)束!我是回調(diào)函數(shù),沒有使用第三方類庫!');

});

startFade = function() {

e.className+= ' hide';

}

})();<br></script>

</body>

</html>

以上就是本文所述的關(guān)于javascript判斷CSS3動畫結(jié)束的方法,希望大家能夠喜歡

更多信息請查看IT技術(shù)專欄

更多信息請查看網(wǎng)絡(luò)編程

2025國考·省考課程試聽報名

  • 報班類型
  • 姓名
  • 手機號
  • 驗證碼
關(guān)于我們 | 聯(lián)系我們 | 人才招聘 | 網(wǎng)站聲明 | 網(wǎng)站幫助 | 非正式的簡要咨詢 | 簡要咨詢須知 | 新媒體/短視頻平臺 | 手機站點 | 投訴建議
工業(yè)和信息化部備案號:滇ICP備2023014141號-1 云南省教育廳備案號:云教ICP備0901021 滇公網(wǎng)安備53010202001879號 人力資源服務(wù)許可證:(云)人服證字(2023)第0102001523號
聯(lián)系電話:0871-65099533/13759567129 獲取招聘考試信息及咨詢關(guān)注公眾號:hfpxwx
咨詢QQ:1093837350(9:00—18:00)版權(quán)所有:易賢網(wǎng)