2012-10-22 48 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%文盲,你能写下来吗? –