![](/img/trans.png)
[英]How do you convert a series of javascript (jQuery) button “on clicks” into a loop?
[英]Loop my button clicks in javascript
這些是我網頁上的 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 開 rest 關
2 開 rest 關
3 開 rest 關
4 開 rest 關
rest 上的 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();
}
這是基本的,華生。 遞歸。 一個示例實現可以是這樣的:
制作一個包含所有按鈕的變量和另一個名為index
的變量(或類似的東西)。然后,制作一個 function。
在 function 里面,你檢查一下。 如果有buttons[index]
(索引不大於或小於所有按鈕數組的長度),請設置index=0
。 然后,切換buttons[index]
並增加index
。
然后調用setTimeout
- 第一個參數是 function 的名稱,第二個參數是在觸發它之前要等待的時間量。
一旦在 function 之外,以相同的方式調用setTimeout
。
看看這種方法,我認為它可能滿足您的需求:
http://trendmedia.com/news/infinite-rotating-images-using-jquery-javascript/
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.