Javascript超时延迟

时间:2016-04-29 00:23:47

标签: javascript jquery timeout

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

我会提供一些帮助。 这是我的代码,直到现在:

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

1 个答案:

答案 0 :(得分: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);

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