【问题标题】:How random options in button?按钮中的随机选项如何?
【发布时间】:2021-01-30 05:53:26
【问题描述】:

 var options = [$("#option1"), $("#option2"), $("#option3"), $("#option4")]
            let randomOption = options.sort(() => .5 - Math.random());;
            console.log(randomOption[0])
            console.log(randomOption[1])
            console.log(randomOption[2])
            console.log(randomOption[3])
            $("#option1").text(randomOption[0].text())
            $("#option2").text(randomOption[1].text())
            $("#option3").text(randomOption[2].text())
            $("#option4").text(randomOption[3].text())
 <script type="text/javascript" src="https://cdnjs.cloudflare.com/ajax/libs/jquery/3.3.1/jquery.min.js"> </script>
<button id="option1">1</button>
<button id="option2">2</button>
<button id="option3">3</button>
<button id="option4">4</button>

为什么随机不起作用?

cosole.log 是正确的,但实际上并不真实。我想在按钮中移动随机选项。

但如果我多次重新加载页面,只有 $("#option1").text() 是正确的。

【问题讨论】:

    标签: jquery button random text


    【解决方案1】:

    您正在为选项分配文本,同时从可能已经分配了随机文本的选项中检索文本。

    先单独提取文本:

    const options = [$("#option1"), $("#option2"), $("#option3"), $("#option4")];
    const texts = options
      .map(opt => opt[0].textContent)
      .sort(() => .5 - Math.random());
    $("#option1").text(texts[0]);
    $("#option2").text(texts[1]);
    $("#option3").text(texts[2]);
    $("#option4").text(texts[3]);
    <script type="text/javascript" src="https://cdnjs.cloudflare.com/ajax/libs/jquery/3.3.1/jquery.min.js">
    </script>
    <button id=option1>1</button>
    <button id=option2>2</button>
    <button id=option3>3</button>
    <button id=option4>4</button>

    【讨论】:

      猜你喜欢
      • 2019-06-10
      • 2021-01-30
      • 2017-12-26
      • 1970-01-01
      • 2014-07-27
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多