[英]How can I make a multiple button "click to reveal" work in javascript?
我正在尝试制作一个相对简单的 JavaScript 文件,它允许我单击 5 个按钮之一,然后信息就会显示在屏幕上。 目前,我让它在一个显示中工作,但其他人没有出现。
简单地说,目标是拥有它,以便如果我单击“选择 1”,则会出现文本“测试 1”,“选择 2”和“测试 2”,依此类推......
任何帮助将非常感激!
<!DOCTYPE html>
<html lang="en">
<head>
<meta charset="utf-8">
<meta http-equiv="X-UA-Compatible" content="IE=edge">
<meta name="viewport" content="width=device-width, initial-scale=1">
<title>Bootstrap 4, from LayoutIt!</title>
<meta name="description" content="Source code generated using layoutit.com">
<meta name="author" content="LayoutIt!">
<link href="css/bootstrap.min.css" rel="stylesheet">
<link href="css/style.css" rel="stylesheet">
</head>
<body>
<div class="container-fluid">
<div class="row">
<div class="col-md-6 card">
<div class="row">
<div class="col-md-2">
<h3>
1
</h3>
</div>
<div class="col-md-10">
<h3 class="text-center">
Choose Your Selection
</h3>
</div>
</div>
<div class="row">
<div class="col-md-12">
<button type="button1" class="btn btn-success btn-lg btn-block">
Selection #1
</button>
<button type="button2" class="btn btn-success btn-lg btn-block">
Selection #2
</button>
<button type="button3" class="btn btn-success btn-lg btn-block">
Selection #3
</button>
<button type="button4" class="btn btn-success btn-lg btn-block">
Selection #4
</button>
</div>
</div>
</div>
<div class="col-md-6 card">
<div class="row">
<div class="col-md-2">
<h3>
2
</h3>
</div>
<div class="col-md-10">
<h3 class="text-center">
Choose Your Option
</h3>
</div>
</div>
<div class="row">
<div class="col-md-12">
<p id="select1" class="select">test 1</p>
<p id="select2" class="select">test 2</p>
<p id="select3" class="select">test 3</p>
<p id="select4" class="select">test 4</p>
</div>
</div>
</div>
</div>
</div>
<script src="js/jquery.min.js"></script>
<script src="js/bootstrap.min.js"></script>
<script src="js/scripts.js"></script>
<script type="text/javascript"> var tag = document.getElementById('select1'); var button = document.querySelector('button[type="button1"]'); button.addEventListener('click', function(){ tag.classList.toggle('selecton'); }); </script>
<script type="text/javascript"> var tag = document.getElementById('select2'); var button = document.querySelector('button[type="button2"]'); button.addEventListener('click', function(){ tag.classList.toggle('selecton'); }); </script>
<script type="text/javascript"> var tag = document.getElementById('select3'); var button = document.querySelector('button[type="button3"]'); button.addEventListener('click', function(){ tag.classList.toggle('selecton'); }); </script>
<script type="text/javascript"> var tag = document.getElementById('select4'); var button = document.querySelector('button[type="button4"]'); button.addEventListener('click', function(){ tag.classList.toggle('selecton'); }); </script>
</body>
</html>
.container-fluid {
width:40%;
padding: 50px 0;
}
.card {
background-color: rgb(24, 26, 27);
border-top-color: rgba(102, 102, 102, 0.13);
border-right-color: rgba(102, 102, 102, 0.13);
border-bottom-color: rgba(102, 102, 102, 0.13);
border-left-color: rgba(102, 102, 102, 0.13);
border-radius: 20px;
padding: 20px;
border: 5px solid;
}
body {background-color: #000;}
.select {display:none;}
.selecton {display: block;}
<body>
<div class="container-fluid">
<div class="row">
<div class="col-md-6 card">
<div class="row">
<div class="col-md-2">
<h3>
1
</h3>
</div>
<div class="col-md-10">
<h3 class="text-center">
Choose Your Selection
</h3>
</div>
</div>
<div class="row">
<div class="col-md-12">
<button type="button1" class="btn btn-success btn-lg btn-block" data-btn='btn-1'>
Selection #1
</button>
<button type="button2" class="btn btn-success btn-lg btn-block" data-btn='btn-2'>
Selection #2
</button>
<button type="button3" class="btn btn-success btn-lg btn-block" data-btn='btn-3'>
Selection #3
</button>
<button type="button4" class="btn btn-success btn-lg btn-block" data-btn='btn-4'>
Selection #4
</button>
</div>
</div>
</div>
<div class="col-md-6 card">
<div class="row">
<div class="col-md-2">
<h3>
2
</h3>
</div>
<div class="col-md-10">
<h3 class="text-center">
Choose Your Option
</h3>
</div>
</div>
<div class="row">
<div class="col-md-12">
<p id="select1" class="select">test 1</p>
<p id="select2" class="select">test 2</p>
<p id="select3" class="select">test 3</p>
<p id="select4" class="select">test 4</p>
</div>
</div>
</div>
</div>
</div>
删除按钮类型为“button1”它必须只是“button”
js:
var buttons = document.querySelectorAll('.btn-block');
buttons.forEach(function(button, index){
button.addEventListener('click', function(){
if(button.dataset.btn===`btn-${index}`){
document.getElementById(`select${index}`).classList.toggle('selecton');
}
});
});
你应该做这样的事情:
<script>
$(() => {
$("button[type='button1']").on("click", () => {
$("#select1").toggleClass("selecton");
})
$("button[type='button2']").on("click", () => {
$("#select2").toggleClass("selecton");
})
$("button[type='button3']").on("click", () => {
$("#select3").toggleClass("selecton");
})
$("button[type='button4']").on("click", () => {
$("#select4").toggleClass("selecton");
})
})
</script>
上面的代码有很多改进的空间。 但无论如何还是一步一步来。
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.