我有JS函数,每3分钟调用setInterval -我怎么能调用它当页面加载

I have the JS function that is invoked every 3 minutes by setInterval - how can I invoke it when page loads too?

本文关键字:调用 怎么能 加载 setInterval 函数 JS 我有 3分钟      更新时间:2023-09-26

我有以下脚本:

    var results;
var cursor = 0;
function myFunction () {
    $.getJSON('list.php', function(json) {
        results = json.result;
        cursor = 0;
        // Now start printing
        printNext();
    });
}
function printNext(){
    if(cursor == results.length){
        // Reset the cursor back to the beginning.
        cursor = 0;
    }
    // Print the key1 in the div.
    //$('#device-content-user-text').html(results[cursor].key1);
    $('#device-content-user-text').hide('fast', function(){ $('#device-content-user-text').html(results[cursor].key1); $('#device-content-user-text').show('fast'); });
    // Set a delay for the current item to stay
    // Delay is key2 * 1000 seconds
    setTimeout(function(){
        printNext();
    }, results[cursor].key2 * 1000);
    // Advance the cursor.
    cursor++;
}
var interval = setInterval(function () { 
    myFunction(); 
}, 300000);  //make sql query every 5 minutes

,它从页面列表。php中获取JSON字符串,并在#device-content-user-textdiv中逐一打印结果。它每五分钟完成一次,当用户加载页面时计时器开始计数时间。我如何在页面加载时调用这个函数(然后通常每5分钟调用一次)?由于

那样使用document.ready()
$(document).ready(function(){
    var interval = setInterval(function () { 
        myFunction(); 
    }, 300000);  //make sql query every 5 minutes
    myFunction();
});

同样,如果你只是在setInterval的匿名函数中调用myFunction,只需传递函数引用本身

$(document).ready(function() {
        var interval = setInterval(myFunction, 300000); //make sql query every 5 minutes
        myFunction();
    });

根据您对页面'load'的含义,document.ready和load()之间可能存在很大差异。如果你想绝对确定所有都已加载(包括帧、图像等),那么执行

$(window).load(function() {
            var interval = setInterval(myFunction, 300000); 
            myFunction();
        });

否则,如果DOM准备好就足够了,就坚持使用document.ready()

参见jQuery - $(document)之间的区别。Ready和$(window).load?

 //Document ready
   $(function(){
        //call function
        myFunction();
       //put your interval here
    });
相关文章: