如何循环按钮无限次

时间:2016-08-30 17:44:57

标签: javascript html css html5

我希望每秒循环按钮30次我有一个数组,其中列出了按钮

function Btn_check(){
    for(var i in buttons){
        var buttons_name = [];
        buttons_name[i] = buttons[i].name+'_Btn';
        document.getElementById(buttons_name[i]).onclick = function() {
            //do something here
        }
    }
}

setInterval(Btn_check(), 1000/30);

在我的HTML中我只有一个像这样的按钮列表

<a href="#" id="1_Btn" class="button">1</a>
<a href="#" id="2_Btn" class="button">2</a>
<a href="#" id="3_Btn" class="button">3</a>
//etc...

总是当我点击一个按钮时,它认为我点击了页面上的最后一个按钮

1 个答案:

答案 0 :(得分:1)

不确定您要做什么。看起来你正在循环“按钮”的对象属性 - 这是不清楚应该是什么按钮。并且不确定为什么你需要一个button_names数组,如果正确获取,按钮应该为你提供节点及其属性 - 假设按钮是所有带有classname按钮的元素。

所以这是我为你想要完成的事情付出的最大努力:

var buttons = document.querySelectorAll(".button");
function Btn_check(){
    for(var i=0; i<buttons.length; i++) {
      buttons[i].onclick = (function(n) {
        return function() {
          alert(buttons[n].getAttribute("id"));
        }
      })(i);

    }
}

setInterval(Btn_check(), 1000/30);

小提琴:https://jsfiddle.net/bcyab7z4/