javascript - 通过 JavaScript 重启 CSS 动画

标签 javascript html css

我浏览了几篇文章和一堆问题来寻找解决方案,但我一直没能解决这个问题。我试图在单击按钮时重新启动此动画,以便我可以更好地了解如何在我的网络应用程序中处理 css 动画。不幸的是,由于某些代码的所有跨浏览器兼容性问题,这似乎比我最初想象的要难得多。

HTML

<img src="http://s.cdpn.io/79/sprite-steps.png" />
<div class="hi"></div>

<input type = "button" id = "restart" value = "Restart" /> 

JavaScript

var $ = function(id){
    return document.getElementById(id);
}

$("restart").addEventListener("click", function (e){
    $("div").classList.remove("hi");
    $("div").offsetWidth = $("div").offsetWidth;
    $("div").classList.add("hi")
;}, false);

CSS

.hi {
    width: 50px;
    height: 72px;
    background-image: url("http://s.cdpn.io/79/sprite-steps.png");

    -webkit-animation: play .8s steps(10) 1;
       -moz-animation: play .8s steps(10) 1;
        -ms-animation: play .8s steps(10) 1;
         -o-animation: play .8s steps(10) 1;
            animation: play .8s steps(10) 1;
}

@-webkit-keyframes play {
   from { background-position:    0px; }
     to { background-position: -500px; }
}

@-moz-keyframes play {
   from { background-position:    0px; }
     to { background-position: -500px; }
}

@-ms-keyframes play {
   from { background-position:    0px; }
     to { background-position: -500px; }
}

@-o-keyframes play {
   from { background-position:    0px; }
     to { background-position: -500px; }
}

@keyframes play {
   from { background-position:    0px; }
     to { background-position: -500px; }
}

这是 JSFiddle 链接。我添加了一些内容并将其更改为原来的内容,但始终归功于原始编码员。感谢 JQuery 的回答,但我真的很想用普通的 JavaScript 回答。谢谢!

http://jsfiddle.net/CGmCe/11555/

最佳答案

根据你的函数的返回,return document.getElementById(id); 你的 div 缺少一个 id

<div id="div" class="hi"></div>

http://jsfiddle.net/f2Lb3x5f/

关于javascript - 通过 JavaScript 重启 CSS 动画,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/31028479/

相关文章:

javascript - 根据两个键从对象数组中获取唯一值

jQuery 更改 "PLUS MINUS image"

html - 如何在html中的文本之间放置空格?

overlay - webkit 边框半径问题

Javascript 提示已取消,未在 While 循环中表现

javascript - 单击按钮时更改按钮的图像背景

javascript - 更改 Algolia instantsearch.js 统计模板

html - 主体滚动条

css - 使用 CSS 选择换行符

javascript - 停止在 Javascript 中导入时初始化模块