按箭头键语句功能不正常
Arrow key press statement not functioning correctly
我试图为一个网页创建一个简单的图库,其中包括用户按下左箭头键和右箭头键,获取上一个/下一个图像。到目前为止,我的代码如下所示。不过,它似乎对按键没有反应。我已经检查了控制台,没有任何错误,让我陷入了问题所在。
imagediv html在按键时不会改变-有什么想法吗?
$(document).ready(function() {
var current = 1;
$("body").keydown(function(e) {
if(e.keyCode == 37) {
if (current == 1) {
var current = 1;
} else {
var current = current - 1;
}
$('.image').html('<img src="images/' + current + '.jpg"/>');
}
else if(e.keyCode == 39) {
var current = current + 1;
$('.image').html('<img src="images/' + current + '.jpg"/>');
}
});
});
HTML
<body>
<div class="image">
<img src="images/1.jpg"/>
</div>
</body>
我已经调整过了,当前变量在keydown时重置。OP已经被编辑了——这给我留下了当前变量lisitng NaN.jpg作为文件名的问题
current
未定义的问题是您在代码的各个范围中重新定义current的结果。这是一个棘手的编程错误,称为变量阴影http://en.wikipedia.org/wiki/Variable_shadowing
您应该在一个范围内定义您的可变电流,然后在较低的范围内引用它,如下所示:
$(document).ready(function() {
var current = 1;
$("body").keydown(function(e) {
alert(current);
if(e.keyCode == 37) {
if (current == 1) {
current = 1;
} else {
current = current - 1;
}
$('.image').html('<img src="images/' + current + '.jpg"/>');
}
else if(e.keyCode == 39) {
current = current + 1;
$('.image').html('<img src="images/' + current + '.jpg"/>');
}
});
});
看看这把小提琴http://jsfiddle.net/RTWM6/
您的代码似乎运行良好。http://jsfiddle.net/PZnSd/1/
$("body").keydown(function(e) {
var current = 1;
if(e.keyCode == 37) {
console.log('left arrow');
if (current == 1) {
current = 1;
} else {
var current = current - 1;
}
$('.image').html('<img src="http://placehold.it/350x150"/>');
}
else if(e.keyCode == 39) {
console.log('right arrow');
var current = current + 1;
$('.image').html('<img src="http://placehold.it/350x250"/>');
}
});
相关文章:
- 电子邮件验证功能运行不正常
- .切换功能工作不正常
- 按箭头键语句功能不正常
- 高位图表堆叠功能不正常
- jQuery 2.X - on功能不能正常工作
- Twitter引导模式远程功能不能正常工作
- jQuery:为什么是文档.Ready功能不能正常工作
- jQuery排序功能不能正常工作
- 关闭的功能不能正常工作
- Socket.IO's一旦功能不能正常工作
- jQuery文本功能不能正常工作
- 打印功能不能正常工作
- 在多选中选择后搜索功能不正常
- Jquery点击功能不能正常工作
- 在Backbone应用中使用addClass()和CSS过渡的渲染功能不能正常工作
- 删除cookie功能不正常
- 加载更多的gif功能不正常
- Jquery点击功能不正常
- JQuery选择器与许多功能不能正常工作
- 复选框快速选择功能不正常