0

ボタンをクリックしないで 10 秒後に、button.g == 1 の文字列を自動実行するように、このコードに追加しようとしています。

  {
    if(button.g == 0)
    {
        f.a(parent);
        AutoJoin.instance.resetCache();
    }
    if(button.g == 1)
    {
        AutoJoin.instance.screen = new AutoJoinScreen(parent, info);
        f.a(AutoJoin.instance.screen);
    }
    if(button.g == 2)
        f.a(new PropertiesScreen(this, info.ip));
}
4

1 に答える 1

0

setTimeoutアクションを「遅らせる」ために使用できます。

setTimeout(function() { console.log('I'm 10 secs later'); }, 1000*10);

あなたclearTimeoutはそのようなタイマーを中止することができます:

var timer = setTimeout(/* .... */);
clearTimeout(timer)

あなたの例では、ロジックを実行するタイムアウトを開始し、button.g == 1ボタンがクリックされた場合にタイマーをキャンセルできます。

タイマーを 10 秒に設定する:

var timer = setTimeout(1000*10, function() { 
  AutoJoin.instance.screen = new AutoJoinScreen(parent, info);
    f.a(AutoJoin.instance.screen);
 })

クリックルーチン:

clearTimeout(timer);

if(button.g == 0) {
    f.a(parent);
    AutoJoin.instance.resetCache();
} 
else if if(button.g == 1) {
    AutoJoin.instance.screen = new AutoJoinScreen(parent, info);
    f.a(AutoJoin.instance.screen);
}
else if(button.g == 2) {
    f.a(new PropertiesScreen(this, info.ip));
}
于 2013-09-15T06:43:04.707 に答える