2013-11-26 88 views
0

我已經將進度條添加到我的網站,並且在頁面加載時它們完美地工作。但是,我想重新加載div使用jQuery .load()和重新加載進度條消失後,但一切似乎完美。使用.load()後,jQuery進度條消失()

下面是一個簡化的,但類似的代碼我用什麼:

<script type="text/javascript"> 
    function updateDiv() { 
    $("#foo-bar").load("http://sub.domain.tld/page.php"); 
    } 
    setInterval("updateDiv()", 30000); 

    $(document).ready(function() { 
    $("#foo").progressBar(<?php echo $foo; ?>); 
    $("#bar").progressBar(<?php echo $bar; ?>); 
    }); 
</script> 
<div id="foo-bar"> 
    <span id="foo"></span> 
    <span id="bar"></span> 
</div> 

我從這裏的進度條源代碼:http://t.wits.sg/misc/jQueryProgressBar/demo.php

所有的JavaScript/jQuery代碼被適當地包括和我已經在谷歌瀏覽器上檢查過控制檯,並且沒有錯誤或警告。

就像我說的,一切工作完美,直到使用.load()重新加載頁面,我找不到問題。我認爲這個錯誤會導致跨域JavaScript問題,但是div中的其他所有內容都可以很好地加載;這只是我遇到問題的進度條。

任何幫助將不勝感激。

回答

1

因爲你重裝的foo-bar它具有進度元素的內容,你將有foo-bar元素

$(document).ready(function() { 
    function progressBar() { 
     $("#foo").progressBar(<? php echo $foo; ?>); 
     $("#bar").progressBar(<? php echo $bar; ?>); 
    } 

    function updateDiv() { 
     $("#foo-bar").load("http://sub.domain.tld/page.php", progressBar); 
    } 
    setInterval(updateDiv, 30000); 
    progressBar() 
}); 
+0

這工作完全重新加載進度條的每一個負荷後重新初始化的進度,但是,進度條的值不會改變。來自數據庫的actualy值被更新,因爲它可以工作,如果我在它自己的回顯變量,但不在JS中。我也嘗試將PHP變量放入一個警報中,但這也不起作用,所以我需要做些什麼來更新PHP的JS值? – JustSomeGuy