javascript - 如何使按钮可重复使用?

标签 javascript html button

我对编程世界还比较陌生。我对 HTML 和 CSS 有扎实的了解,最近又学习了 JavaScript。作为一个学校项目,我正在研究一系列文本生成器;我的目标是能够在网站上单击一个按钮,并在您每次单击该按钮时让计算机吐出随机文本。然而,虽然我对 HTML 和 JavaScript 有很好的掌握,但我几乎不了解如何结合这两者来提供网页功能。

我使用 JavaScript 创建了一个“莎士比亚侮辱生成器”,它是函数式的,我想出了如何向页面添加一个按钮,以便当您单击该按钮时,它会在页面上打印一个随机生成的侮辱:

<script>
var adjective1 = ["artless", "bawdy", "beslubbering"...
var adjective2 = ["base-court", "bat-fowling", "beef-witted"...
var noun = ["apple-john", "baggage", "barnacle"...

var insult = "Thou art a " + adjective1[Math.floor(Math.random() * 60)] + ", " + adjective2[Math.floor(Math.random() * 60)] + ", " + noun[Math.floor(Math.random() * 60)] + "!";

var genInsult = function() {
x=document.getElementById("replace");  
x.innerHTML=insult;    
};
</script>

<p id= "replace">Your insult will appear here!</p>
<button type="button" onclick="genInsult()">Generate Insult</button>

但是,一旦你按下按钮一次,除非你刷新页面,否则你不能再次按下它来产生另一个侮辱。

所以我的问题是:如何使用 JavaScript 使此按钮可重用?

我曾尝试寻找我的问题的答案,但问题是我对 JavaScript 太陌生了,以至于我经常难以理解其他人的问题和答案。此外,很多回复都提到了 jQuery,这是一种我不知道的语言。如果有人在 JavaScript 领域内有解决方案,我将不胜感激!

我现在可能知道的不多,但我非常渴望学习!

最佳答案

移动这个:

var insult = "Thou art a " + adjective1[Math.floor(Math.random() * 60)] + ", " + adjective2[Math.floor(Math.random() * 60)] + ", " + noun[Math.floor(Math.random() * 60)] + "!";

在你的 genInsult() 函数中,你应该是好的。现在它在外面,所以它只会生成一次。

关于javascript - 如何使按钮可重复使用?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/18626794/

相关文章:

javascript - 添加基于php数据库结果的表单确认

javascript - 在 three.js 中围绕球体(模拟太阳)旋转矢量

javascript - jQuery 在点击事件上 undefined variable

html - 如何创建链接以将条目添加到日历?

javascript - 当页面为index.php时运行html代码

c# - 在asp.net中单击按钮时显示div

jquery - 动态添加的按钮(使用 jQuery)必须单击两次才能触发已绑定(bind)到按钮的单击事件

JavaScript 对象。如何创建一个调用同一对象内函数的按钮

javascript - 在 React.js 应用程序中处理字体定义的可扩展方式

javascript - iframe 自动高度