在javascript中循环我的按钮点击

时间:2011-05-27 02:52:54

标签: javascript loops button

以下是我网页上的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();
}

2 个答案:

答案 0 :(得分:0)

那是小学的,华生。递归。示例实现可以是这样的:

创建一个变量,保存所有按钮和另一个名为index的变量(或类似的东西。)然后,创建一个函数。

在该功能中,您进行检查。如果有buttons[index](索引不大于或小于所有按钮数组的长度),请创建index=0。然后,切换buttons[index]并增加index

然后调用setTimeout - 第一个参数是函数的名称,第二个参数是您在触发函数之前要等待的时间。

在函数外部,以相同的方式调用setTimeout

示例:http://jsfiddle.net/bVNx2/

答案 1 :(得分:0)

看看这种方法,我认为它可能符合您的需求:

http://trendmedia.com/news/infinite-rotating-images-using-jquery-javascript/