我是Jquery的新手,我似乎无法找到造成此问题的原因。变量内部重复函数保留旧值
我有一个变量,每次运行GameStart()函数时都会得到一个新值,我试图在暂停函数中创建一个暂停函数,我有一个警报,显示变量的值(就像现在的测试一样)。
问题是,暂停点击事件不仅提醒当前值,而且还提醒以前的所有值。
这是什么原因?我能做些什么来解决它?
在小提琴示例中,按开始,然后按暂停,然后查看所有值。
的jsfiddle:http://jsfiddle.net/Limitedmoves/SrWJP/
$(document).ready(function() {
$('.butResize').click(function() {
alert("hello");
GameStart();
});
function GameStart(){
//Set needed random variables below
var vSetTimer = 1000 * Math.floor(Math.random() * 10);
var vBarWood = 1 + Math.floor(Math.random() * 400);
setTimeout(function() {
//alert(vSetTimer);
$('.div').animate({height: vBarWood }, 500);
GameStart();
}, vSetTimer); //Time lenght set from vSetTime variable
$('.pause').click(function() { //Start pause function
var vTempTimer= vSetTimer;
console.log(vTempTimer);
});
}
});
我已经看过在这里的计算器,发现类似的行为是通过利用“返回”解决了,但是从我已经尝试过了没有帮助。
事先感谢! :)
这是一个很好的答案,“我能做些什么来解决它?”。你可能会添加一个解释“这是什么原因?” – jukempff
感谢您的更新,我现在正在使用此解决方案。从来不知道解决方案是这个初级。谢谢! – user2699097