【问题标题】:Random click to div with javascript使用javascript随机点击div
【发布时间】:2012-10-22 23:57:41
【问题描述】:

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

【问题讨论】:

  • 有什么问题?
  • 我想要以下内容:随机点击这 2 个不同的 div
  • 当div被点击时你什么都不做!!!
  • 点击一次到
    一次到
    这就像分类。如果我在 30 秒后点击这 2 个 div,我有其他情况,我会再次看到好或坏按钮。

标签: javascript html random click


【解决方案1】:

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

【讨论】:

  • 这是一个分类网站。首先,我必须等待 30 秒,然后我将有 2 个按钮,例如“好”和“坏”。如果我点击一个,我将有其他分类,我可以再次投票。我不想检查每个页面只是随机点击。
【解决方案2】:

首先,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);
}

【讨论】:

  • 谢谢第一个对我来说已经足够了。我从来没有使用过脚本,我只是听说我必须使用 jQuery。
  • 在阅读了您对另一个答案的评论后,我意识到我忘记了 setInterval。如果您想等待 30 秒,请不要忘记将 main() 函数置于超时状态。
  • 对不起,我是 100% 的 javascript 文盲,你能写下来吗?
  • 已在上面编辑。顺便说一句,setInterval() 导致代码以间隔运行,而setTimeout() 导致它在指定的毫秒数后执行一次。不知道你想要哪一个。
猜你喜欢
  • 1970-01-01
  • 1970-01-01
  • 2020-08-04
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 2012-02-13
  • 1970-01-01
  • 2018-03-31
相关资源
最近更新 更多