使用javascript随机点击div

时间:2012-10-22 23:57:42

标签: javascript html random click

我有2个div,有2个不同的类:

  1. div class name是:good

  2. div class name is:bad

  3. 我想用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);
    

2 个答案:

答案 0 :(得分:0)

看起来你要做的就是用这两个div之一执行一个动作。伪造点击并没有多大意义,因为所有这一切都是运行代码,这可以很容易地以另一种更方便的方式执行。点击div后你想要发生什么?

答案 1 :(得分:0)

首先,2个问题:

  1. 你想要完成什么?你提出的任务很奇怪,我想不出任何不能用另一种方式做的应用程序。
  2. 你是否有异步追加jQuery的原因?
  3. 尽管如此,以下代码会将点击事件发送到两个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);
    }