You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

JQuery按钮仅生效一次求助:随机名言生成器需重复触发

解决随机名言生成器按钮只能生效一次的问题

问题出在随机名言的生成时机上:你现在只在页面加载时计算了一次randomQuote的值,之后每次点击按钮都是把这个固定值塞给文本框,自然只会生效一次。

把随机生成的逻辑移到按钮的点击事件里,每次点击都重新生成随机名言就行,修改后的JS代码如下:

//quote variables
const quoteOne = '1';
const quoteTwo = '2';
const quoteThree = '3';
const quoteFour = '4';
const quoteFive = '5';
const quoteSix = '6';

//quotes Array
const quotes = [quoteOne, quoteTwo, quoteThree, quoteFour, quoteFive, quoteSix];
   
$(document).ready(() => {
  //jquery variables
  const $newQuote = $('#new-quote');
  const $text = $('#text');

  //handlers
  $newQuote.on('click', () => {
    // 每次点击都重新生成随机名言
    let randomQuote = quotes[Math.floor(Math.random() * quotes.length)];
    $text.text(randomQuote);
  })
})

另外,你也可以简化代码,没必要单独给每个名言声明变量,直接把字符串放进数组更简洁:

const quotes = ['1', '2', '3', '4', '5', '6'];
   
$(document).ready(() => {
  const $newQuote = $('#new-quote');
  const $text = $('#text');

  $newQuote.on('click', () => {
    const randomQuote = quotes[Math.floor(Math.random() * quotes.length)];
    $text.text(randomQuote);
  })
})

HTML部分不需要改动,保持原有代码即可。

内容的提问来源于stack exchange,提问作者Aarroonn

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.07.26 08:05:02