2013-11-26 1 views
0

내 사이트에 진행률 표시 줄이 추가되었으며 페이지가로드 될 때 완벽하게 작동합니다. 그러나 jQuery .load()를 사용하여 div를 다시로드하고 div가 다시로드 된 후에 진행 막대가 사라지지만 모든 것이 완벽하게 작동하는 것 같습니다..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

을 자바 스크립트/jQuery 코드의 모든이 제대로 포함되어 있으며, Chrome에서 콘솔을 확인했는데 오류나 경고가 없습니다.

내가 말했듯이, 페이지가 .load()를 사용하여 다시로드되고 문제를 찾을 수 없을 때까지 모든 것이 완벽하게 작동합니다. 그 오류는 크로스 도메인 자바 스크립트 문제를 수행하는 것이지만 div의 모든 항목은 완벽하게로드됩니다. 문제가되는 것은 진행률 표시 줄뿐입니다.

도움을 주시면 감사하겠습니다. 당신은 ProgressBar 구성 요소가 foo-bar의 내용을 다시로드되기 때문에

답변

1

, 당신은 그러나이 진행 막대를 다시로드 완벽하게 작동

$(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

foo-bar 요소의 모든 부하 후 진행 막대를 다시 초기화해야합니다 진행률 표시 줄의 값은 변경되지 않습니다. 데이터베이스의 실제 값은 변수가 자체에 있지만 JS에서는 그렇지 않은 경우에 작동하기 때문에 업데이트됩니다. 나는 또한 PHP 변수를 경고에 넣으려고 시도했으나 작동하지 않았다. 그래서 PHP 값을 JS로 업데이트하기 위해해야 ​​할 일이 있는가? – JustSomeGuy

관련 문제