javascript - 有人可以帮我在按键后运行 CSS 动画吗?

标签 javascript jquery html css animation

我一直在尝试在我按下 Konami 代码时显示动画,同时我设法打开一个警告窗口(出于某种原因连续弹出 3 到 5 次),我无法让动画出现。

这是我的 CSS 代码:

#pirateship {
    position:absolute; top:420px;width:100%;
    height:160px;
    background-image:url(pirateship.png);
    background-position:-200px;
    background-repeat: no-repeat;
}
.sail {
    animation: sailing 8s infinite linear;
}

这是我的脚本:

if (window.addEventListener) {var state=0, Konami=[38,38,40,40,37,39,37,39,66,65];
window.addEventListener("keydown", function(e) {
if (e.keyCode==Konami[state]) state++; else state=0; if (state==10)
$('#pirateship').addClass('sail'); window.alert("test");}, true);}

当然,我只是在正文中显示:

<div id="pirateship" ></div>

换句话说,不起作用的部分是这部分:

$('#pirateship').addClass('sail');

根据人们在这里和类似网站的推荐,我尝试了几种不同的方法,但没有成功。 我做错了什么?

最佳答案

似乎工作正常。您缺少 @keyframes 动画。这是一个似乎对键盘 react 更好的代码笔 http://codepen.io/anon/pen/pRpoaN

if (window.addEventListener) {
  var state = 0,
    Konami = [38, 38, 40, 40, 37, 39, 37, 39, 66, 65];
  window.addEventListener("keydown", function(e) {
    if (e.keyCode == Konami[state]) state++;
    else state = 0;
    if (state == 10)
      $('#pirateship').addClass('sail');
    window.alert("test");
  }, true);
}
#pirateship {position:absolute; top:420px;width:100%; height:160px;
background-image:url(pirateship.png); background-position:-200px;
background-repeat: no-repeat;}
.sail {animation: sailing 8s infinite linear;}
@keyframes sailing {
  100% {
    background: red;
  }
}
<script src="https://ajax.googleapis.com/ajax/libs/jquery/2.1.1/jquery.min.js"></script>
<div id="pirateship">arr</div>

关于javascript - 有人可以帮我在按键后运行 CSS 动画吗?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/41924302/

相关文章:

jquery - 如何使用jQuery在Grails中创建弹出窗口

php - 如何调整 jquery.simply-scroll 插件的 CSS 设置以占据全屏

JavaScript 数组不使用 Ajax 发布到 PHP 文件

html - 媒体查询宽度不适用于 col-md 类?

javascript - 用作函数参数的变量被更改,影响后面的函数调用

javascript - 从缓存中重新加载 iframe

javascript - 使用 jQuery 和 CSS 居中对象

javascript - 切换按钮标签上的文本

javascript - AngularJS。执行长时间运行的任务

javascript - 如何在 d3 图表中强制使用特定数量的 y 轴刻度?