由于某些原因,当我调用此函数时,它只适用于第一个keydown。我不确定我做错了什么。
$(document).ready(function(){
$(document).keydown(function(e) {
var x = 10;
var code = (e.keyCode ? e.keyCode : e.which);
if(code == 40){
function rise(x){
$('#div2').css('bottom',x+'%');
}
rise(x);
x++;
}
答案 0 :(得分:3)
您看不到它有效,因为您每次都会x
重新初始化为10
。
解决方案是将x放在外部范围内:
$(document).ready(function(){
var x = 10;
$(document).keydown(function(e) {
var code = (e.keyCode ? e.keyCode : e.which);
function rise(x){
$('#div2').css('bottom',x+'%');
}
rise(x);
x++;
});
});
请注意,这里没有理由定义rise
函数。你可以简单地做
$(document).ready(function(){
var x = 10;
$(document).keydown(function(e) {
var code = (e.keyCode ? e.keyCode : e.which);
$('#div2').css('bottom',x+'%');
x++;
});
});
(我希望有code
部分的原因。