以下是我网页上的4个按钮代码:
<div id ="topbar" width="80%; height:20px;" style="text-align:center">
<input type="button" value="Click first" onclick="button.toggle();"></input>
<input type="button" value="Click second" onclick="button2.toggle();"></input>
<input type="button" value="Click third" onclick="button3.toggle();"></input>
<input type="button" value="Click fourth" onclick="button4.toggle();"></input>
</div>
当前加载页面时,所有页面都“打开”(切换打开或关闭) 如何将它们全部关闭,然后像这样循环:
休息时1 2休息时间 3休息时间 4休息时间 1休息时......它会循环播放。
我尝试过这种方法
这有什么不对吗?
setInterval ( "loop()", 2000 );
function loop ( )
{
setTimeout ( "SetLayer1()", 1000 );
}
function SetLayer1()
{
button.toggle(); //all off since all of them are on from start
button2.toggle();
button3.toggle();
button4.toggle();
}
function SetLayer2()
button.toggle(); // button 1 on rest off
//button2.toggle();
//button3.toggle();
//button4.toggle();
}
function SetLayer3()
{
button.toggle(); // button 1 off
button2.toggle(); //button 2 on
//button3.toggle();
//button4.toggle();
}
function SetLayer4()
{
//button.toggle();
button2.toggle();// button 2 off
button3.toggle();// button 3 on
//button4.toggle();
}
答案 0 :(得分:0)
那是小学的,华生。递归。示例实现可以是这样的:
创建一个变量,保存所有按钮和另一个名为index
的变量(或类似的东西。)然后,创建一个函数。
在该功能中,您进行检查。如果有buttons[index]
(索引不大于或小于所有按钮数组的长度),请创建index=0
。然后,切换buttons[index]
并增加index
。
然后调用setTimeout
- 第一个参数是函数的名称,第二个参数是您在触发函数之前要等待的时间。
在函数外部,以相同的方式调用setTimeout
。
答案 1 :(得分:0)
看看这种方法,我认为它可能符合您的需求:
http://trendmedia.com/news/infinite-rotating-images-using-jquery-javascript/