0

我需要每分钟运行一次函数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>
4

1 回答 1

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');
于 2012-08-10T16:10:16.777 回答