2016-04-29 7 views
0

Ich habe ein paar Probleme mit meinen setTimeout und setInterval Funktionen. Was ich tun muss, ist eine Anzeige 2 Sekunden nach dem Start der App anzuzeigen und dann alle 2 Minuten anzuzeigen. Gut, bis jetzt habe ich die erste Hälfte des Problems geschafft (Anzeige nach 2 Sekunden), aber ich kann nicht herausfinden, wie man das Timeout um weitere 2 Minuten verzögert und es in einer Schleife ausführt (wahrscheinlich mit setInterval) . Ich habe versucht, ein weiteres Timeout in diesem Timeout hinzuzufügen, aber es verzögert die erste Ausführung.Javascript Timeout mit Verzögerung

Ich würde etwas Hilfe schätzen. Hier ist mein Code untill jetzt:

setTimeout(function() { 
     // this will create a banner on startup 
     AdMob.createBanner({ 
      adId: admobid.banner, 
      position: AdMob.AD_POSITION.BOTTOM_CENTER, 
      overlap: false, 
      offsetTopBar: false, 
      bgColor: 'black' 
     }); 

     // this will load a full screen ad on startup 
     AdMob.prepareInterstitial({ 
      adId: admobid.interstitial, 
      autoShow: true 
     }); 
    }, 2000); 
+0

Haben Sie versucht, das eingestellte Intervall bereits innerhalb des eingestellten Timeouts hinzuzufügen? – Matt

Antwort

4

Wenn Sie versuchen, den gleichen Code nach 2 Sekunden rufen und dann wieder alle 2 Minuten, können Sie das wie folgt tun:

function someAdCode() { 
    // put the code here that you want to repeat 
} 

// start it in 2 seconds 
setTimeout(function() { 
    someAdCode(); 
    // schedule it to repeat every 2 minutes 
    setInterval(someAdCode, 2 * 60 * 1000); 
}, 2000); 

Diese verwendet eine setTimeout() für die einmalige Verzögerung von 2 Sekunden. Dann starten Sie in diesem Rückruf die setInterval(), um alle 2 Minuten zu wiederholen.

+0

genial, danke !! es funktioniert gut, ich habe es gerade getestet. – smobx

Verwandte Themen