如何运行javascript并每分钟重新加载DIV容器(计时器)?

时间:2012-08-10 16:02:26

标签: php javascript html timer

我需要每分钟运行一次 createChartControl 功能。每次执行该功能时,都应更新DIV容器 GanttDiv 的内容。问题是函数 createChartControl 只执行一次。如何正确添加计时器?

<script type="text/javascript" language="JavaScript">
function createChartControl(htmlDiv1)
{
    // ...
}
(function(){
    createChartControl('GanttDiv');
})();
</script>

<script>
 $(document).ready(function() {
    $("#GanttDiv").(function(){ 
        createChartControl('GanttDiv');
    })();
    var refreshId = setInterval(function() {
        $('#GanttDiv').fadeOut("slow", function () {
            $(this).(function(){ 
                createChartControl('GanttDiv');
            })().fadeIn("slow");
        });
    }, 60000);
    $.ajaxSetup({ cache: false });
});
</script>

<div style="width:100%; height:350px; position:relative" id="GanttDiv" class="GanttDiv"></div>

1 个答案:

答案 0 :(得分:0)

您的setInterval似乎是正确的,但您在第一次执行时遇到错误。试试这个:

var refreshId = setInterval(function() {
    $('#GanttDiv').fadeOut("slow", function () {
        createChartControl('GanttDiv');
        $(this).fadeIn("slow");
    });
}, 60000);

此外,如果您已将ID传递给createChartControl函数,则不需要执行此操作(使用未经修改的jQuery也无法执行此操作):

$("#GanttDiv").(function(){ 
    createChartControl('GanttDiv');
})();

你可以做到

createChartControl('GanttDiv');