逐步延迟数组

时间:2011-05-06 14:43:27

标签: javascript

我的页面上有每个包含唯一内容的标签。我想在不点击它们的情况下自动旋转标签和内容。页面加载后,我希望此函数开始使用window.onload = function()

我有以下JavaScript数组:

var HomeTabs = [1, 3, 5, 7, 9, 11]

我想知道如何显示HomeTab 1 10秒然后移动到HomeTab 3然后10秒后按顺序移动到HomeTab 5,而不是随机。当它到达HomeTab 11时,它会再次回到HomeTab 1。

我有一个脚本可以更改ChangeTab(1)标签,其中一个是我要显示的标签号。

2 个答案:

答案 0 :(得分:12)

使用setInterval方法每十秒调用一次函数:

window.onload = function(){

  var HomeTabs = [1, 3, 5, 7, 9, 11];
  var index = 0;

  function nextTab() {
    ChangeTab(HomeTabs[index]);
    index = (index + 1) % HomeTabs.length;
  }

  nextTab();

  window.setInterval(nextTab, 10000);

};

答案 1 :(得分:1)

你总是可以在函数中使用setTimeout,比如

function startRotating(currentIndex) {

  // do some checking on currentIndex

  setTimeout(function(){
      startRotating(currentIndex + jump)
  },10000);
}

不会按照书面形式工作,但你可以从那里扩展它。