-1

我有 2 个具有 2 个不同类别的 div:

  1. div类名是:好

  2. div类名是:坏

我想为这个 div 随机点击 javascript(用户脚本)。我从来没有用 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);
4

2 回答 2

0

看起来您想要做的是使用这两个 div 之一执行操作。假装点击是没有意义的,因为它所做的只是运行代码,它可以很容易地以另一种更方便的方式执行。单击 div 时,您希望发生什么?

于 2012-10-23T00:08:25.157 回答
0

首先,2个问题:

  1. 你想达到什么目的?您提出的任务相当奇怪,我想不出任何无法以其他方式完成的应用程序。
  2. 您是否有理由异步附加 jQuery?

尽管如此,以下代码将在页面加载后 30 秒将点击事件发送到随机选择的两个 div 之一。

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);
}
于 2012-10-23T00:19:24.123 回答