随机单击以使用JavaScript进行分配



我有2个不同类别的divs:

  1. div类名称是:好

  2. div类名称是:bad

我想随机使用JavaScript(用户脚本)单击此Divs。我从未在JavaScript中编码,我刚刚在Internet中找到了此代码。

我有此代码:

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);

似乎您要做的是对这两个Divs之一执行动作。伪造单击是没有意义的,因为所有功能都是运行代码,这可以同样容易以另一个更方便的方式执行。单击DIV时您想发生什么?

首先,2个问题:

  1. 您想完成什么?您所做的任务很奇怪,我想不出任何无法用其他方式执行的应用程序。
  2. 有原因是您异步附加jQuery吗?

尽管如此,以下代码将单击事件单击两个Divs之一,随机选择,在页面加载后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);
}

最新更新