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


How to run javascript and reload DIV containers every minute (timer)?

我需要每分钟运行一次函数createChartControl。每次执行函数时,都应更新 DIV 容器甘特迪夫的内容。问题是函数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>

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

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

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

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

你可以做

createChartControl('GanttDiv');