2014-04-02 120 views
0

我正在嘗試每天倒計時,例如可以說每天到下午7點。一旦晚上7點通過,它應該在23點59分59秒再次開始,然後再倒數第二天下午7點。每日倒計時到特定時間

我寫了一個腳本,但沒有顯示出來。爲什麼倒計時不顯示?

DEMO:http://jsfiddle.net/8Ab78/

function ShowTime() { 
    var now = new Date(); 
    var hrs = 18-now.getHours(); 
    var mins = 60-now.getMinutes(); 
    var secs = 60-now.getSeconds(); 
     timeLeft = "" +hrs+' hours '+mins+' minutes '+secs+' seconds'; 
    $("#countdown").html(timeLeft); 
} 

var countdown; 
function StopTime() { 
    clearInterval(countdown); 
    setInterval(ShowTime ,1000); 
} 

回答

1

更換

setInterval('ShowTime()',1000); 

這個

setInterval(ShowTime ,1000); 

Fiddle

+0

是,更新這和錯誤的變量命名:HTTP:/ /jsfiddle.net/8Ab78/2/但它仍然沒有爲我顯示 – user1901096

+0

看看更新的小提琴它的作品http://jsfiddle.net/8Ab78/1/ –

+0

我修改了你的代碼中的一些更新,請通過小提琴首先告訴我你的問題 –

1

在這裏,你設置的html的div標記:

$("#countdown").html(str); 

但是什麼是str?另外,什麼是timeleft?也許你的意思是說:

var timeLeft = "" +hrs+' hours '+mins+' minutes '+secs+' seconds'; 
$("#countdown").html(timeLeft); 
+0

是的,沒有保存小提琴,現在它是正確的(也setInterval固定),但仍然沒有顯示:http://jsfiddle.net/8Ab78/2/ – user1901096

1

正如我所看到的,這是有三個原因的;

1)你永遠不會調用ShowTime中

2)替代$("#countdown").html(str);你應該有$("#countdown").html(timeLeft);

3)你的setInterval應setInterval(ShowTime ,1000);

+0

是的,在發佈之前我沒有保存jsfiddle(想更清楚)。更新代碼和小提琴,但仍然不顯示:http://jsfiddle.net/8Ab78/2/ – user1901096

+0

如果你添加了一些東西來啓動它,你的代碼就像它應該那樣工作 - http://jsfiddle.net/8Ab78/4 / –