JavaScript animationIteration 事件

admin發表於2019-02-06

事件名稱animationIteration是一個合成詞,有如下兩個單詞構成:

(1).animation:翻譯成漢語具有動畫的意思。

(2).iteration:翻譯成漢語具有重複的意思。

由此可以有有理由猜測,此事件與animation動畫的重複相關。

事實也的確如此,此事件可以在animation動畫重新播放時觸發,相關內容參閱如下文章:

(1).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: #f80;
  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");
  let count=0;
  _rect.onclick = function () {
    _rect.style.animation = "move 3s infinite alternate";
  }
  _rect.addEventListener("webkitAnimationIteration", function () {
    count=count+1;
    this.innerHTML=count;
  }, false);
}
</script>
</head>
<body>
  <div class="rect">0</div>
</body>
</html>

點選div元素開始animation動畫效果,動畫每一次重複,都會觸發一次animationIteration事件。

相關閱讀:

(1).@keyframes參閱CSS @keyframes一章節。

(2).transform: rotate()參閱transform: rotate()一章節。

(3).document.querySelector()參閱JavaScript querySelector()一章節。

(4).animation參閱CSS animation一章節。

(5).addEventListener()參閱JavaScript addEventListener()一章節。

相關文章