2016-04-29 139 views
0

我的setTimeout和setInterval函数有一些问题。我需要做的是在应用程序启动2秒后显示广告,然后每2分钟显示一次。 好,直到现在我设法做了第一个问题的一半(2秒后显示),但我无法弄清楚如何延迟另一个2分钟的超时,并在循环中执行它(可能与setInterval) 。 我试着在超时时间内添加另一个超时,但延迟了第一次执行。Javascript超时延迟

我会apreciate一些帮助。 这里是我的代码现在直到:

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

您是否尝试在设置的超时时间内添加设置的时间间隔? – Matt

回答

4

如果你想在2秒后调用相同的代码,然后再每2分钟,你可以是这样做的:

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); 

这一次2秒延迟使用setTimeout()。然后,在该回调中,您将开始setInterval()以每2分钟重复一次。

+0

真棒,谢谢!它运作良好,我只是测试它。 – smobx