javascript - 满足要求后按钮可见
问题描述
要求:当点击多个按钮时,用户将能够点击“继续按钮”。
当前情况:我正在制作一个电影院网页。用户将可以选择他们喜欢的座位。选择座位后,他们将能够单击“继续按钮”进行支付。但是,我很难实现这个功能。我知道我需要使用可见性隐藏功能。
以下是我的代码:
var buttons = document.getElementsByClassName("button");
var count = 0;
var disp = document.getElementById("display");
for (let i = 0, l = buttons.length; i < l; i++) {
buttons[i].addEventListener('click', function() {
buttons[i].classList.toggle('active');
if (this.classList.contains("active")) {
count++;
if (this.classList.contains("active") > 1) {
function proceedButton() {
document.getElementById("pButton").style.display = "visible";
}
} else {
document.getElementById("pButton").style.display = "block";
}
} else {
count--;
}
disp.innerHTML = count;
})
}
function proceedButton() {
var x = document.getElementById("payment-section");
if (x.style.display === "none") {
x.style.display = "block";
}
}
.button {
background-color: #423F3E;
height: 30px;
width: 30px;
margin: 5px;
border-radius: 10px;
border: none;
float: left;
}
.button.active {
background-color: #F7EA00 !important;
}
<div class="seats-layout">
<div class="row">
<input type="button" id="button1" class="button" />
<input type="button" id="button2" class="button" />
<input type="button" id="button3" class="button" />
</div>
<div class="row">
<input type="button" id="button1" class="button" />
<input type="button" id="button2" class="button" />
<input type="button" id="button3" class="button" />
</div>
</div>
<p> Button Clicked <span id="display">0</span> Times</p>
<input type="submit" value="Proceed" onclick="proceedButton()" id="pButton" class="proceed-button" />
```
<div id="payment-section" style="display: none">
<h1>Payment</h1>
</div>
```
解决方案
使用document.querySelectorAll将文档中与指定 CSS 选择器匹配的所有元素作为静态 NodeList 对象返回。
function proceedButton() {
var x = document.getElementById("payment-section");
var item_click = document.querySelectorAll('.active').length;
if (item_click>1) {
x.style.display = "block";
}else{
x.style.display = "none";
}
}
推荐阅读
- http - 如何仅使用 ssh 连接(无 cURL 或其他实用程序)手动 POST JSON 数据
- javascript - 如何合并对象数组中的值
- javascript - 如何在 admin-bro 中配置存储桶以本地存储上传的文件
- swift - Firebase Analytics - 记录 screen_view 在 SwiftUI 中不起作用
- sql - SQL Server 中带有 JOIN 的 UPDATE 语句未按预期工作
- r - 如何计算 r 中每组的平均变化?
- laravel - 如何验证来自 Laravel 中父控制器的相关对象请求数据?
- xml - 如何处理 XPath 和 XSL 中的层次关系和比较?
- weblogic12c - Weblogic 缓慢的服务器启动和发布
- scala - 如何在 Scala 中使用模式匹配与函数值