W3Cschool
恭喜您成為首批注冊用戶
獲得88經(jīng)驗值獎勵
transitionend事件的事件處理程序。此事件在CSS轉(zhuǎn)換完成時發(fā)送到。
如果在轉(zhuǎn)換完成執(zhí)行之前從其目標(biāo)節(jié)點(diǎn)刪除轉(zhuǎn)換,則不會生成該transitionend事件。一種可能發(fā)生的方式是改變適用于目標(biāo)的transition-property屬性值。另一種情況是,display屬性設(shè)置為"none"。
var transitionEndHandler = target.ontransitionend;
target.ontransitionend = Function
當(dāng)transitionend事件發(fā)生被調(diào)用的Function,指示在target上完成了CSS轉(zhuǎn)換,其中,所述目標(biāo)對象是一個HTML元素(HTMLElement),文件(Document),或窗口(Window)。該函數(shù)作為輸入接收單個參數(shù):描述發(fā)生的事件的TransitionEvent對象;事件的TransitionEvent.elapsedTime屬性值應(yīng)該與transition-duration的值相同。
elapsedTime不包括過渡效果開始之前的時間;這意味著該transition-delay值不會影響該elapsedTime值,直到延遲期結(jié)束并且動畫開始,該值才為零。
在本例中,我們使用transitionrun和transitionend事件來檢測轉(zhuǎn)換何時開始和結(jié)束,以便在轉(zhuǎn)換期間發(fā)生文本更新。這也可以用來觸發(fā)動畫或其他效果,以允許鏈接反應(yīng)。
這只是簡單地創(chuàng)建一個<div>我們將用下面的CSS樣式來制作一個調(diào)整大小和改變顏色等的框。
<div class="box"></div>
下面的CSS對框進(jìn)行樣式設(shè)置,并應(yīng)用轉(zhuǎn)換效果,使框的顏色和大小發(fā)生變化,并使框旋轉(zhuǎn),同時鼠標(biāo)光標(biāo)懸停在該框上。
.box {
margin-left: 70px;
margin-top: 30px;
border-style: solid;
border-width: 1px;
display: block;
width: 100px;
height: 100px;
background-color: #0000FF;
color: #FFFFFF;
padding: 20px;
font: bold 1.6em "Helvetica", "Arial", sans-serif;
-webkit-transition: width 2s, height 2s, background-color 2s, -webkit-transform 2s, color 2s;
transition: width 2s, height 2s, background-color 2s, transform 2s, color 2s;
}
.box:hover {
background-color: #FFCCCC;
color: #000000;
width: 200px;
height: 200px;
-webkit-transform: rotate(180deg);
transform: rotate(180deg);
}
接下來,我們需要建立事件處理程序,以便在過渡開始和結(jié)束時更改框的文本內(nèi)容。
let box = document.querySelector(".box");
box.ontransitionrun = function(event) {
box.innerHTML = "Zooming...";
}
box.ontransitionend = function(event) {
box.innerHTML = "Done!";
}
注意將鼠標(biāo)光標(biāo)懸停在框上時會發(fā)生什么,然后將其移開。
規(guī)范 | 狀態(tài) | 注釋 |
---|---|---|
CSS轉(zhuǎn)換 該規(guī)范中'ontransitionend'的定義。 | 工作草案 |
我們正在將兼容性數(shù)據(jù)轉(zhuǎn)換為機(jī)器可讀的JSON格式。
特征 | Chrome | Firefox(Gecko) | Microsoft Edge | Internet Explorer | Opera | Safari(WebKit) |
---|---|---|---|---|---|---|
基本支持 | 支持[1] | 支持:51 | 不支持[2] | 不支持[2] | ? | 支持 |
特征 | Android | Android Webview | Firefox Mobile (Gecko) | Firefox OS | IE Mobile | Opera Mobile | Safari Mobile | Chrome for Android |
---|---|---|---|---|---|---|---|---|
基本支持 | ? | ? | 支持:51.0 | ? | ? | ? | 支持 | 支持[1] |
注釋:
[1] Chrome調(diào)用onwebkittransitionend事件處理程序,事件的前綴為webkittransitionend。
[2]這個事件處理程序的HTML屬性不可用,但可以用addEventListener()函數(shù)來監(jiān)聽transitionend事件。
Copyright©2021 w3cschool編程獅|閩ICP備15016281號-3|閩公網(wǎng)安備35020302033924號
違法和不良信息舉報電話:173-0602-2364|舉報郵箱:jubao@eeedong.com
掃描二維碼
下載編程獅App
編程獅公眾號
聯(lián)系方式:
更多建議: