【问题标题】:jQuery - 1 out of 3 div's but random [duplicate]jQuery - 3个div中的1个但随机[重复]
【发布时间】:2017-05-19 22:39:28
【问题描述】:

嘿嘿

我想用电脑编写“石头剪刀布”。现在,当我选择 3 个选项之一时,我希望计算机放入一个随机对象 - 但是如何? 我想出了这样的东西

jQuery (当我点击#rock 时,从下方随机放入一个 div)

$('#rock').on('click',function() {
           $('#putHere').text($("#rock" || "#paper" || "#scissors").text());
          });

HTML

 <div id="rock">rock</div>
 <div id="paper">paper</div>
 <div id="scissors">scissors</div>

可能会被误解,但是是的..我尽力了..谢谢您的帮助

【问题讨论】:

  • @Manishh 我搜索了很长时间,但在我提出问题后我就看到了。所以是的

标签: jquery html random


【解决方案1】:

使用数组保存选择器并使用Math.random方法随机生成索引。

var sel = ["#rock", "#paper", "#scissors"];

$('#rock').on('click', function() {
  $('#putHere').text($(sel[Math.floor(Math.random() * sel.length)]).text());
});
<script src="https://ajax.googleapis.com/ajax/libs/jquery/2.1.1/jquery.min.js"></script>
<div id="rock">rock</div>
<div id="paper">paper</div>
<div id="scissors">scissors</div>


<div id="putHere"></div>

或者使用元素集合而不是选择器数组。

var $el = $("#rock,#paper,#scissors");

$('#rock').on('click', function() {
  $('#putHere').text($el.eq([Math.floor(Math.random() * $el.length)]).text());
});
<script src="https://ajax.googleapis.com/ajax/libs/jquery/2.1.1/jquery.min.js"></script>
<div id="rock">rock</div>
<div id="paper">paper</div>
<div id="scissors">scissors</div>


<div id="putHere"></div>

【讨论】:

  • 非常感谢,我被卡住很久了 -_- :D 8 分钟后可以投票
【解决方案2】:

你可以试试这个东西

var myArray = ['#rock', '#paper', '#scissors']; 
$('#putHere').text(myArray[Math.floor(Math.random() * myArray.length)]);

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 2017-07-25
    • 1970-01-01
    • 2020-01-26
    • 2018-07-02
    • 1970-01-01
    • 2014-10-02
    • 1970-01-01
    • 2018-04-15
    相关资源
    最近更新 更多