1

最初にページを読み込んだとき、30秒以内に関数を呼び出す必要があります。その後、60秒で自動的に呼び出されます。

私がしたことは、

  <html>
    <head>
    </head>
    <body>
    <script>
        setTimeout('ajaxload()',30000);
        setInterval('ajaxload()',60000);
        function ajaxload()
        {
         //code
        }
    </script>

    </body>
    </html>

しかし、この関数は不規則な時間に呼び出されると思います。私は正しいことをしていますか?間違いがあれば親切に共有してください....

4

4 に答える 4

6

文字列を渡さないでください..関数名/宣言自体を渡してください:

setTimeout(function () {
   ajaxload();
   setInterval(ajaxload, 60000);
}, 30000);
于 2013-01-25T05:18:10.943 に答える
2

少し間違って使用しています。最初のものが30秒で、その後60秒である場合は、順番に実行する必要があります。

setTimeout(startAjaxLoad,30000);

function ajaxload()
{
     //code
}

function startAjaxLoad() 
{
    ajaxload();
    setInterval(ajaxload,60000);
}
于 2013-01-25T05:18:26.643 に答える
0

への変更

setTimeout(function(){ajaxload()},30000);
setInterval(function(){ajaxload()},60000);
function ajaxload()
        {
         //code
        }
于 2013-01-25T05:19:37.030 に答える
0

AJAX メソッドを継続的に呼び出す場合は、最初にメソッドが終了するのを待ってからsetTimeout()もう一度使用するだけで、少し整然としたものを検討できます。

function ajaxload()
{
    $.ajax({

        // AJAX Settings.
        // ...

        complete: function()
        {
            // Call .ajaxload() 60 seconds from the completion of this request.
            setTimeout(ajaxload, 60000);
        }

    });
}



// Initial call.
setTimeout(ajaxload, 30000);
于 2013-01-25T05:34:57.403 に答える