Javascript:单击所有按钮时的功能
Posted
技术标签:
【中文标题】Javascript:单击所有按钮时的功能【英文标题】:Javascript: When all buttons are clicked function 【发布时间】:2022-01-13 01:50:28 【问题描述】:您好先生,我正在练习我的香草 javascript。当从按钮上单击正确的字母时,我正在尝试创建一个“刽子手游戏”。你赢了。我在查询选择器中有所有这些按钮(从字母 A 到字母 Z)。
使用这个函数的问题.. the winAlert = visible implements
当letterS
被点击时(“谨慎”的最后一个字母)。
那么有没有办法当你以任何顺序单击所有谨慎字母时,winAlert.style.visibility = "visible"
将在函数内部执行?
在过去的几个小时里,我已经尝试了所有方法。buttons.forEach
、切片等。没有任何效果。
function youWonCautious()
var buttons = [letterC, letterA, letterT, letterI, letterU, letterI, letterO, letterS]
for (var i = 0; i < buttons.length; i++)
var button = buttons[0, 1, 2, 3, 4, 5, 6, 7];
button.onclick = function()
winAlert.style.visibility = "visible"
【问题讨论】:
var button = buttons[0, 1, 2, 3, 4, 5, 6, 7];
不会做你认为的那样。
【参考方案1】:
按钮不会自动保持任何关于它们是否被点击的状态。您可以使用按钮的dataset
属性自行完成。
然后你的函数可以测试是否所有的按钮都设置了这个属性。
或者您可以将按钮更改为复选框,并使用checked
属性。
function allButtonsClicked(buttons)
return buttons.every(b => b.dataset.chosen == 'true')
function youWonCautious()
var buttons = [letterC, letterA, letterT, letterI, letterU, letterO, letterS];
buttons.forEach(button =>
button.dataset.chosen = 'true';
if (allButtonsClicked(buttons))
winAlert.style.visibility = "visible";
);
【讨论】:
【参考方案2】:您可以创建一个全局数组,在其中记录用户单击的字母。检查全局数组变量和答案数组中的字母。 如果匹配,则通过警报消息,否则将失败消息发送给用户。
【讨论】:
您的答案可以通过额外的支持信息得到改进。请edit 添加更多详细信息,例如引用或文档,以便其他人可以确认您的答案是正确的。你可以找到更多关于如何写好答案的信息in the help center。以上是关于Javascript:单击所有按钮时的功能的主要内容,如果未能解决你的问题,请参考以下文章
通过单击按钮循环浏览 Jlabel 的图像时的 for 循环问题