2013-02-12 35 views
0

我的頁面上有這個倒數計時器:http://www.dirtycookie.coJavaScript倒數計時器未啓動[包含Firebug錯誤]

除非刷新頁面,否則不會倒計時。

我有相同的腳本工作方式有點不同@m.dirtycookie.co作爲參考。

我有這個劇本在我的index.php <head>

 <script> 
     $(document).ready(function() { 

     function countdown() { 
     // input new date here 
     var newdate = new Date("Mar 01, 2013 20:00:00"); 
     // input new date here 

     //DO NOT TOUCH THE REST UNLESS YOU KNOW JQUERY WELL 
     var now = new Date(); 
     var timeDifference = newdate.getTime() - now.getTime(); 
     var d = Math.floor(timeDifference/1000); 
     var l = Math.floor(d/60); 
     var b = Math.floor(l/60); 
     var u = Math.floor(b/24); 
     b %= 24; l %= 60; d %= 60; 

     if(d < 0){ var d = 0} 
     if(l < 0){ var l = 0} 
     if(b < 0){ var b = 0} 
     if(u < 0){ var u = 0} 

     $(".days").html(u); 
     $(".hours").html(b); 
     $(".minutes").html(l); 
     $(".seconds").html(d); 

     var timer = setTimeout('countdown()',1000); 
     //DO NOT TOUCH THE REST UNLESS YOU KNOW JQUERY WELL 
    } 
window.onload=countdown ; 
}); 
</script> 

Firebug的錯誤: 的ReferenceError:倒計時沒有定義 http://www.dirtycookie.co/ 線106 106線居然是:var timer = setTimeout('countdown()',1000);

的HTML因爲這是在這裏:

<div class="counter_wrap"> 

    <!-- Counter Title --> 
     <h1>Countdown to Grand-Opening!</h1> 

    <!-- Counter Title --> 

    <!-- Counter Section --> 
     <div class="numbers"><p class="days">23</p><p class="smallfont">Days</p></div> 
     <div class="numbers"><p class="hours">19</p><p class="smallfont">Hours</p></div> 
     <div class="numbers"><p class="minutes">7</p><p class="smallfont">Minutes</p></div> 
     <div class="numbers"><p class="seconds">23</p><p class="smallfont">Seconds</p> 

</div> 

回答

3

這可能是一個問題:

var timer = setTimeout('countdown()', 1000); 

爲什麼只是把它想:

var timer = setTimeout(countdown, 1000); 

字符串和eval實際上是不必要的。也。

var timer = setTimeout(countdown(), 1000); 
// is not the same as: 
var timer = setTimeout(countdown, 1000); 

在第一個調度countdown()的輸出被稱爲函數。在第二個你實際上是countdown(這是你想要的)。

+0

這樣做!謝謝。斯塔克先生說,我可以在10分鐘內接受你的答案。 – 2013-02-12 23:18:14