2015-11-12 74 views
0

工作我完全困惑,我不是一個Javascript初學者...的setInterval不是的document.ready

$(document).ready(function(){ 
    var loadtime = 2000; 
    var loadtimer = setInterval(function(){ 
    loadtime = loadtime - 100; 
    console.log(loadtime); 
    }, 100); 
}); 

這不是爲我工作。控制檯輸出是: 1900

我希望腳本每100毫秒輸出一次當前的loadtime

我的錯在哪裏?

在此先感謝。

+1

你的意思是它不打印1800 ... 1700等?我希望它能做到。你如何看待'document.ready'是相關的? – Halcyon

+0

[Not reproducable](http://jsfiddle.net/grmdvzm2/)? – Teemu

+0

我不明白。 'loadtime'是2k,你減去100,所以第一次必須是1900.究竟是什麼錯誤? – skypjack

回答

2

它確實有效 - check this demo on JSFiddle

var loadtime = 2000; 
    var loadtimer = setInterval(function(){ 
    loadtime = loadtime - 100; 
    console.log(loadtime); 
    }, 100); 

編輯

它不工作的原因是,你撥打:

clearInterval(loadtimer); 

並停止對第一次運行後您的setInterval功能。

+0

是的,在jsfiddle上,但沒有在我的代碼上...... –

+0

然後你必須告訴我們你的JS編譯器和瀏覽器中的編譯器有什麼區別。 –

+0

https://www.sese7.de/js/main.js –