2010-01-30 183 views
1
$('.button').click(); 

上面的代碼的偉大工程,以點擊網頁上的所有按鈕一次,但我想斷火點擊每半年或秒鐘左右,直到jQuery對象已即你可以設置按鈕點擊的時間間隔嗎?

$(function(){ 

    $('.button').each(function(){ 

      setInterval('$(this).click()', 500); 

    }); 
}); 

可以將某些環有人告訴我怎麼做到這一點?上面的代碼顯然不起作用。我錯過了什麼嗎?

+0

你是什麼意思「直到jQuery對象已循環,「什麼」jQuery對象「? – 2010-01-30 01:26:06

+0

我可能指的太錯誤了。 $('。button')是一個jQuery對象,它是通過每個方法循環的?請原諒我的noobness。 – 2010-01-30 01:35:09

回答

2

請勿使用setInterval()setTimeout()中的字符串。總是傳遞函數對象:

$(function() { 
    $('.button').each(function(){ 
     var button = $(this); 
     setInterval(function() {button.click();}, 500); 
    }); 
}); 

編輯:如果你想要的是觸發的點擊,這也可以更簡單地表示爲(感謝icambron):

$(function() { 
    $('.button').each(function(){ 
     setInterval($(this).click, 500); 
    }); 
}); 
+0

你搖滾,謝謝 – 2010-01-30 01:08:57

+2

'setInterval(button.click)'自行工作吧?沒有理由在一個額外的功能包裝 – 2010-01-30 01:40:19

+0

icambron,你是。 – 2010-01-30 01:57:50

1
$(function(){ 
    var buttons = $('.button'); 
    var len = buttons.length; 
    var intr = new Array(); 
    buttons.each(function(i){ 
      var $this = $(this); 
      var timeClick = function(){ 
      if(i < len){ 
       $this.click(); 
      } 
      else{ 
       clearInterval(intr[i]); 
      } 
      }; 

      intr[i] = setInterval(timeClick, 500); 
    }); 
}); 
1

什麼對這個?

setInterval(function(){ $('.button').click();},500); 
+2

最好不要每500ms搜索一次DOM。我建議將'$('。button')''保存到一個變量中,然後使用它。 – 2010-01-30 01:20:38

+0

偉大的一點,感謝您的幫助。 – 2010-01-30 01:26:43

1

你可以建立一個函數來順序執行的點擊次數,點擊每一個N指定的毫秒超時,迭代匹配的元素一一:

用法:

clickQueue($('.button'), 500); 

功能:

var clickQueue = function ($els, timeout) { 
    var n = $els.length, i = 0; 

    function click() { // internal function 
    $els.eq(i++).click(); // click the element and increment i 
    if (i < n){ 
     setTimeout(click, timeout); // execute again if possible 
    } 
    } 
    click(); // invoke for first time 
}; 
+0

我真的很喜歡這個概念,它是可重用的。唯一的一點是,它跳過第一個按鈕,即它會點擊除第一個按鈕之外的所有按鈕。 – 2010-01-30 01:23:47

+0

我設置了var i = -1;它的工作就像一個魅力,再次感謝 – 2010-01-30 01:31:31

+0

它應該與'VAR我= 0;'檢查這個例子:http://jsbin.com/ezuwe – CMS 2010-01-30 01:35:00