【发布时间】:2020-11-27 16:42:07
【问题描述】:
我正在尝试编写一个函数,在该函数中,用户有一定的时间来点击页面上的五个 div。被点击的 div 的 id 然后被推送到一个数组中。我希望用户可能有几秒钟的点击时间,然后会弹出一个警报,给出他们点击的 div 的值。到目前为止,我的代码将值推送到一个数组,但我未能使两件事中的任何一件发生。首先(未在下面的代码中显示),我希望它在用户点击五次(或五个值推送到数组)时停止并显示警报。我尝试循环函数直到数组长度等于 5,但没有骰子。
其次,如下所示,我想给点击几秒钟,然后警报会显示 userClicks 数组值。再次,没有骰子。我在这里想念什么?需要明确的是,我不必能够在单个函数中同时做这两件事,但如果可能的话,我想尝试两者作为一个选项。这是我当前的代码:
let userClicks = [];
function reply_click(clicked_id) {
setTimeout(function () {
userClicks.push(clicked_id);
}, 3000);
alert(userClicks);
}
这是相关的 HTML:
<div id="game-container">
<div id="0" class="cell" onClick="reply_click(this.id)"></div>
<div id="1" class="cell" onClick="reply_click(this.id)"></div>
<div id="2" class="cell" onClick="reply_click(this.id)"></div>
<div id="3" class="cell" onClick="reply_click(this.id)"></div>
<div id="4" class="cell" onClick="reply_click(this.id)"></div>
<div id="5" class="cell" onClick="reply_click(this.id)"></div>
<div id="6" class="cell" onClick="reply_click(this.id)"></div>
<div id="7" class="cell" onClick="reply_click(this.id)"></div>
<div id="8" class="cell" onClick="reply_click(this.id)"></div>
</div>
谢谢!
【问题讨论】:
-
旁注:我会使用事件监听器而不是那些 onClick 属性。
标签: javascript arrays loops