2016-12-31 36 views
0
var i = 0; 

function clickPlay(){ 
    var playButtons = $('.player-play'); 
    playButtons[i].click(); 
    i++; 
} 

function playVideos() { 
    setTimeout(function() { 
     clickPlay(); 
     playVideos(); 
    }, 5000); // Change this value to speed up or slow down the time interval 
} 

playVideos(); 

這應該發揮頁面上的每個視頻,但每次我運行它,我得到獲取未定義的錯誤,而試圖運行JS代碼

Uncaught TypeError: Cannot read property 'click' of undefined 
    at clickPlay (<anonymous>:5:16) 
    at <anonymous>:11:9 

它起着第一視頻,僅此而已。我是JS的noob,但我會嘗試你說的一切。謝謝!

+1

你能後的HTML? – natel

+0

如果您使用jQuery,爲什麼不簡單地使用'$ .each'並在循環內添加超時? – elboletaire

+0

當您經過您擁有的視頻數量時會發生什麼? – 2016-12-31 14:17:37

回答

0

您對該循環沒有任何限制,因此您不控制該數組的範圍。

更好地利用jQuery.each

function playVideos() { 
    $('.player-play').each(function() { 
     var _this = $(this); 
     setTimeout(function() { 
      _this.click(); 
     }, 5000); 
    }); 
} 

playVideos(); 
相關問題