如何以随机起点循环?

时间:2019-04-24 03:41:23

标签: javascript html

为简化我的谜语: 有5个按钮。单击时,每个按钮都会播放视频。 视频播放完毕后,它将自动播放下一个视频。例如,如果我单击第三个按钮,它将播放第三个视频,当它结束时,它将连续播放第四个视频,然后连续播放第五个视频……

这是问题: 无论我单击哪个按钮。我希望它遍历所有视频。播放完所有5个视频后。它将在结尾显示第6个视频。 例如:如果我单击第3个按钮,它将播放第3,第4,第5个视频,然后循环回到第一个,第二个视频。然后播放第6个视频。 示例2:如果单击第4个按钮,它将播放第4、5、1、2、3个视频。然后是第6个视频。

这大大简化了我的实际问题。因此,我无法向您显示实际的代码。我试图在5个按钮内创建一个循环。

这是我的逻辑: 当我开始单击其中任何一个按钮时,它将设置var count = 0; 然后,当每个视频播放完毕后,如果count++;会执行count <= 4,它将连续循环播放,否则将播放第6个视频。

我不知道我的逻辑是否正确,也许您可​​以为我提供一种更好的方法。谢谢

2 个答案:

答案 0 :(得分:1)

这是我的逻辑方式

//put variable to store the n-th button you click
var videoClick = button click;

//loop for 5
for(var counter=0; counter<5; counter++){
    //code to play your n-th video
    xxxxxxx
    //code to increment video order
    if(videoClick>=5){videoclick=1;}else{videoClick++;}
}

//code to play the 6th video here

答案 1 :(得分:0)

使用模运算符:

function handleClickOnItemOfIndex(index) {
  const numOfItems = getNumberOfItems();
  if (numOfItems > 0) {
    for (var i=index; i<numOfItems + index; i++) {
      doSomethingWithItemOfIndex(i % numOfItems);
    }
  }
}