0

以下の関数を1時間ごとに自動的に起動したい。これは実際には通貨コンバーター用です。現在、ユーザーが最初のテキストボックスに値を入力/変更した場合にのみ、以下の関数がアクションを実行します*私が望むのは、以下の関数は1時間ごとに自動的に呼び出され、1時間のタイマー時間カウントが開始変更はテキストボックスで行われます *

私の関数は次のようになります。

  $(document).ready(function(){ 
    $("#from_amount").keyup(function()
        {  
           //my currency converter function goes here

        ----------------------
        ----------------------
4

4 に答える 4

2

私があなたを正しく理解していれば:

function currencyConverter(e){
    //do stuff

    if(e && e instanceof jQuery.Event){
        //the function is triggered from the keyup event
    }
}

var handle = setInterval(currencyConverter, 3600000); //one hour in milliseconds

$(function(){
    $("#from_amount").keyup(currencyConverter);
});

インターバルを停止したい場合:

clearInterval(handle);

「新しい時間」にタイマーを開始したい場合は、次のようにすることができます(テストされていません):

setInterval(function(){

    var now = new Date(),
        newHour = now.getMinutes() === 0 && now.getSeconds === 0;

    if(newHour){

        //trigger 1 hour interval
    }

}, 1000);
于 2013-05-14T08:28:44.270 に答える
0

これには1時間は長い時間です...しかし、私は以前にプロジェクトで以下を使用しました:

window.setInterval(check_for_messages, 60000);

数値はミリ秒単位の時間の長さであるため、これは「check_for_messages」関数を 1 分ごとに実行します。check_for_messages 関数は、データベースをチェックし、Web サイトのフィールドを更新する ajax 呼び出しです。

ただし、この方法を使用して1時間でどれだけの運が得られるかはわかりません.

于 2013-05-14T08:28:37.630 に答える
0

次に、javascript のsetInterval()関数を使用します。

setInterval(function currencyConverter(){
//your currency conversion code here
},3600000);
于 2013-05-14T08:29:03.257 に答える