Javascript JQuery-在参数函数中与变量作用域混淆
我想要实现的是让两个左边的字母从左边飞入,让两个右边的字母从右边飞入。我找不到哪里出了问题。我可以马上告诉你,我看到使用了全局变量。特别是restoreTile和animateTile函数中的字母变量,由于未声明该变量,因此这两个函数都使用相同的全局变量。我不确定解决这个问题是否能解决你的整个问题。Javascript JQuery-在参数函数中与变量作用域混淆,javascript,jquery,Javascript,Jquery,我想要实现的是让两个左边的字母从左边飞入,让两个右边的字母从右边飞入。我找不到哪里出了问题。我可以马上告诉你,我看到使用了全局变量。特别是restoreTile和animateTile函数中的字母变量,由于未声明该变量,因此这两个函数都使用相同的全局变量。我不确定解决这个问题是否能解决你的整个问题。 function restoreTitle() { for (var i = 0; i < 4; i++) { clicks[i] = false; l
function restoreTitle() {
for (var i = 0; i < 4; i++) {
clicks[i] = false;
letter = $('#title-wrapper p[index="' + i + '"]');
letter.css('cursor', "pointer");
}
animateTitle();
}
function animateTitle() {
for (var i = 0; i < 4; i++) {
letter = $('#title-wrapper p[index="' + i + '"]');
direction = i < 2 ? 1 : -1;
letter.css('right', 50 * direction + "%");
doAnimateLetter(i, letter, direction);
}
}
function doAnimateLetter(i, letter, direction) {
loop(function(){
var current = letter.css('right').replace("%", "");
var incoming = parseInt(current) - (5 * direction);
letter.css('right', incoming + "%");
var completed = incoming == 0;
if(completed) letter.fadeTo(animation_speed, 1);
return !completed;
});
}
function loop(run) {
if (run.apply()) requestAnimationFrame(function () {
loop(run);
});
}