JavaScript animationStart 事件

admin發表於2019-02-02

從名稱可以猜測,此事件與animation動畫相關,事實的確如此。

此事件可會在animation開始時觸發,相關內容可以參閱如下兩篇文章:

(1).animation動畫參閱CSS animation 動畫一章節。

(2).註冊事件處理函式參閱JavaScript 註冊事件處理函式一章節。

瀏覽器支援:

(1).IE10+瀏覽器支援此事件。

(2).谷歌瀏覽器支援此事件(當前需要加webkit字首)。

(3).火狐瀏覽器支援此事件(當前需要加moz字首)。

(4).opera瀏覽器支援此事件(當前需要加o字首)。

(5).safria瀏覽器支援此事件(當前需要加webkit字首)。

程式碼例項如下:

[HTML] 純文字檢視 複製程式碼執行程式碼
<!doctype html>
<html>
<head>
<meta charset="utf-8">
<meta name="author" content="http://www.softwhy.com/" />
<title>螞蟻部落</title>
<style>
* {
  margin: 0;
  padding: 0;
}
.rect {
  position: relative;
  width: 100px;
  height: 100px;
  background-color: blue;
  color:white;
  text-align:center;
  line-height:100px;
  margin:0px auto;
}
@keyframes move {
  from {
    transform: rotate(0);
  }
  to {
    transform: rotate(360deg);
  }
}
</style>
<script>
window.onload = function () {
  let _rect = document.querySelector(".rect");
  _rect.onclick = function () {
    _rect.style.animation = "move 3s";
  }
  _rect.addEventListener("webkitAnimationStart", function () {
    this.innerHTML="動畫開始"
  }, false);
}
</script>
</head>
<body>
  <div class="rect"></div>
</body>
</html>

上述程式碼簡單演示了animationStart事件的功能,簡單分析如下:

(1).點選div元素可以通過style為其設定animation動畫效果。

(2).點選後,動畫立馬生效開始,事件觸發,將"動畫開始"寫入div中。

相關文章