2012-10-22 49 views
-1

的div我有2周的div 2個不同等級:隨機點擊的JavaScript

  1. 的div類名稱爲:良好

  2. DIV類名是:壞

我想用JavaScript(用戶腳本)隨機點擊這個div。我從來沒有用JavaScript編碼,我只是在互聯網上找到這個代碼。

我有這樣的代碼:

function addJQuery(callback) { 
    var script = document.createElement("script"); 
    script.setAttribute("src", "http://ajax.googleapis.com/ajax/libs/jquery/1.4.2/jquery.min.js"); 
    script.addEventListener('load', function() { 
    var script = document.createElement("script"); 
    script.textContent = "(" + callback.toString() + ")();"; 
    document.body.appendChild(script); 
    }, false); 
    document.body.appendChild(script); 
} 

function main() { 
setInterval(function(){ 
$('div.good').click(); 
$('div.bad').click(); 
}, 5000); 

} 
addJQuery(main); 
+0

這是什麼問題? – MyBoon

+0

我想要以下內容: 隨機點擊此2個不同的div –

+0

當div被點擊時,你什麼都不做! – Tariqulazam

回答

0

好像你正在尋找做的是與這些兩個div中的一個執行動作。假冒一次點擊沒有任何意義,因爲所有這些操作都是運行代碼,這很容易以另一種方式執行,而且更方便。當點擊div時你想要發生什麼?

+0

這是一個分類網站。首先,我必須等待30秒,之後我會有2個按鈕,如「好」和「壞」。如果我點擊一個我將有其他分類,我可以再次投票。我不想檢查每個網頁只是隨機點擊。 –

0

首先,2個問題:

  1. 什麼是你想實現什麼?你提出的任務很奇怪,我想不出任何不能以其他方式完成的應用程序。
  2. 你有沒有理由異步追加jQuery?

儘管如此,下面的代碼會將點擊事件發送到兩個div中的一個,隨機選擇頁面加載後30秒。

function main() { 
    setTimeout(function() { 
     if (Math.random() < 0.5) 
      $('div.good').click(); 
     else 
      $('div.bad').click(); 
    }, 30*1000); 
} 

更通用的解決方案是編寫隨機選擇函數,該函數從一組N個項目中隨機選擇。

Math.randomChoice = function(collection) { 
    return collection[Math.floor(Math.random() * collection.length)]; 
}; 

function main() { 
    setTimeout(function() { 
     var elem = Math.randomChoice(['good', 'bad']); 
     $('div.' + elem).click(); 
    }, 30*1000); 
} 
+0

感謝第一個對我來說已經夠了。我從來沒有使用腳本,我聽說我必須使用jQuery。 –

+0

在閱讀你對另一個答案的評論之後,我意識到我忘記了setInterval。如果您想等待30秒,請不要忘記將main()函數放入超時。 –

+0

對不起,但在JavaScript中100%文盲,你能寫下來嗎? –