我是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