По какой-то причине, когда я вызываю эту функцию, она работает только при первом нажатии. Я не уверен, что я делаю неправильно.
$(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++;
}
Вы не видите, что это работает, потому что вы каждый раз обновляете 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
).