JavaScript 中的图像旋转器(键下)
Image rotator in JavaScript (keydown)
我在JavaScript中遇到动画问题。我使用此链接中的代码,并且此代码在我的函数中用于键控。但是代码不起作用。链接本身的代码是可以的,但在带有键控的功能中无法正常工作。动画对象保留在第一个图像 (dog1.PNG) 上,下一个图像不显示。你可以帮我吗?
$(function() {
$(document).keydown(function(e) {
switch (e.keyCode) {
case 39:
var quotes = new Array("dog1.PNG", "gog2.PNG");
var i = 0;
function animation() {
document.getElementById("dog").src = ("images/" + quotes[i]);
if (i < 1) {
i++;
} else
i = 0;
setTimeout("animation()", 250);
}
animation();
//speed objects in Box2D
var vel = new b2Vec2(150, 0);
game.dog.SetLinearVelocity(vel);
break;
}
});
<script src="https://ajax.googleapis.com/ajax/libs/jquery/2.1.0/jquery.min.js"></script>
<body onLoad="animation()">
<img src="images/dog.PNG" id="dog" />
</body>
我认为问题在于函数"animation"位于键下事件中: 范围问题
您是否检查过按 F12 的浏览器控制台,看看它在加载时是否向您显示任何 javascript 错误?
试试这个:
var i = 0 ;
function animation(){
document.getElementById("dog").src = ( "images/" + quotes[i] );
if (i<1){
i++;
}
else
i = 0;
setTimeout("animation()", 250);
}
$(document).keydown(function(e){
switch(e.keyCode) {
case 39:
var quotes = new Array ("dog1.PNG","gog2.PNG");
animation();
//I commented this lines because you mentioned the problem was with the animation. You can debug this later
//speed objects in Box2D
//var vel = new b2Vec2(150, 0);
//game.dog.SetLinearVelocity( vel );
break;
}
还要确保你的Javascript入到页面的head部分:
<html>
<head>
<script>//Javascript code goes here</script>
</head>
<body onload=....>
//Your html
</body>
</html>
相关文章:
- JavaScript 中的图像旋转器(键下)
- Javascript键下空格键+光标键
- 我的输入字段听到除回车之外的每个“键下”事件.我有一个日期选择器,不确定发生了什么
- 键下时的反向图像 - Javascript
- 在不旋转元素尺寸的情况下旋转图像
- 使用 Ctrl 按钮进行键下操作
- 键控和键下不同步
- 在 ASP 中,键下不起作用以更改焦点
- Javascript 打开键下切换
- 键下/键上 70-120 毫秒延迟.如何减少
- 为什么第一次按键时没有触发“键下”/“键”
- jQuery 键下处理程序在 IE11 的 URL 字段中按 Ctrl 时接收键下事件
- 下拉列表中的键下事件
- 键下,这不起作用的铬扩展程序
- 如何在输入至少 3 个字符后触发事件键下
- Javascript:键下事件:“向上”箭头键阻止进一步的键下事件?(回答:键盘重影)
- Javascript键下:检查箭头和减号,Firefox的解决方法
- 无法在 Knockoutjs 中调用键下方法的 texbox 中键入文本
- 跨浏览器键下处理回车
- “键下”事件:找到本来可以输入的字符,如果 shift 也被按下