2015-04-12 43 views
0

我發現了一個簡單的JS腳本,應該每1000毫秒刷新一個div,但它不工作,任何幫助表示讚賞。Simple JS Refresh Div不工作

這裏的腳本:

window.setInterval("refreshDiv()", 1000); 
function refreshDiv(){ 
    document.getElementById("timer").innerHTML; 
} 

這裏的DIV:

<div id="timer"> 
    <div class="progress-bar" style="width: 
    <?php 
     echo (Pot::getTime(1) * 100)/120;         
    ?>%"> 
    </div> 
</div> 

的腳本是一個名爲的script.js內,並在頁面底部加載像這樣:

<script src="/styles/js/script.js"></script> 

非常感謝您的回覆:-)

+3

我認爲它應該是setInterval(refreshDiv,1000);即沒有引號和() – devlock

+2

我不明白'document.getElementById(「timer」)。innerHTML;',你想設置內部html嗎?你需要說'document.getElementById(「timer」)。innerHTML ='something''。 –

回答

1

從你提供的代碼看來,當refreshDiv被調用時,你沒有對div做任何事情。如果你試圖用innerHTML更改文本它需要像document.getElementById("timer").innerHTML = 'something'

這個JavaScript應該工作:

window.setInterval(refreshDiv, 1000); 
function refreshDiv(){ 
    document.getElementById("timer").innerHTML = 'example'; 
} 

注:setInterval的使用沒有引號只用函數名狀refreshDiv而不是"refreshDiv()"是推薦的方式。

+0

啊,這似乎奏效了。你是否建議我簡單地把代碼放在JS腳本中的div中?或者是否有一種方法,我可以按照更新div本身,像這樣? (僞代碼) 'innerHTML = getElementContents(「timer」);' – user3288788

+0

我會把代碼放在別的地方像你顯示是否有一些邏輯這需要發生。 @ user3288788 – Dallin

0

刪除引號:

window.setInterval(refreshDiv, 1000); 

setInterval期望得到的功能,而不是一個字符串。

+0

那麼,它與引號(假設你有功能括號,在這種情況下,OP)。 –

+0

我已經嘗試過兩種方法,都沒有任何效果,@DaveChen是正確的,我相信。謝謝。 – user3288788

+0

相關提示... – javinor