单击一系列按钮以满足javascript中的条件
我现在有四个按钮,当所有的按钮都被按下时,我会得到警告,但我想要的是当我们按下按钮的组合时,比如按钮1和按钮3,或者按钮1和按钮2,或者按钮3和按钮4,警告应该显示,而不是当所有的按钮都被点击时单击一系列按钮以满足javascript中的条件,javascript,html,button,onclick,Javascript,Html,Button,Onclick,我现在有四个按钮,当所有的按钮都被按下时,我会得到警告,但我想要的是当我们按下按钮的组合时,比如按钮1和按钮3,或者按钮1和按钮2,或者按钮3和按钮4,警告应该显示,而不是当所有的按钮都被点击时 <html> <head> <title>Display</title> </head> <body> <center> </br></br></br></br><
<html>
<head>
<title>Display</title>
</head>
<body>
<center>
</br></br></br></br></br></br>
<button id="button1" class="tictac" type="button" onclick="button1check()">button1</button>
<button id="button2" type="button" onclick="button2check()">button2</button></br></br>
<button id="button3" type="button" onclick="button3check()">button3</button>
<button id="button4" class="tictac" type="button" onclick="button4check()">button4</button>
</center>
<script type="text/javascript">
button1clicked = 0;
button2clicked = 0;
button3clicked = 0;
button4clicked = 0;
function button1check() {
button1clicked = 1;
if (button1clicked == 1 && button2clicked == 1 && button3clicked == 1 && button4clicked == 1 ) {
alert('you win!');
button1clicked = 0;
button2clicked = 0;
button3clicked = 0;
button4clicked = 0;
}
}
function button2check() {
button2clicked = 1;
if (button1clicked == 1 && button2clicked == 1 && button3clicked == 1 && button4clicked == 1) {
alert('you win!');
button1clicked = 0;
button2clicked = 0;
button3clicked = 0;
button4clicked = 0;
}
}
function button3check() {
button3clicked = 1;
if (button1clicked == 1 && button2clicked == 1 && button3clicked == 1 && button4clicked == 1) {
alert('you win!');
button1clicked = 0;
button2clicked = 0;
button3clicked = 0;
button4clicked = 0;
}
}
function button4check() {
button4clicked = 1;
if (button1clicked == 1 && button2clicked == 1 && button3clicked == 1 && button4clicked == 1 ) {
alert('you win!');
button1clicked = 0;
button2clicked = 0;
button3clicked = 0;
button4clicked = 0;
}
}
</script>
</body>
</html>
展示
按钮1
按钮2
按钮3
按钮4
按钮1=0;
按钮2=0;
按钮3clicked=0;
按钮4单击=0;
功能按钮1检查(){
按钮1=1;
如果(button1clicked==1&&button2clicked==1&&button3clicked==1&&button4clicked==1){
警惕(“你赢了!”);
按钮1=0;
按钮2=0;
按钮3clicked=0;
按钮4单击=0;
}
}
函数按钮2检查(){
按钮2=1;
如果(button1clicked==1&&button2clicked==1&&button3clicked==1&&button4clicked==1){
警惕(“你赢了!”);
按钮1=0;
按钮2=0;
按钮3clicked=0;
按钮4单击=0;
}
}
函数按钮3Check(){
按钮3clicked=1;
如果(button1clicked==1&&button2clicked==1&&button3clicked==1&&button4clicked==1){
警惕(“你赢了!”);
按钮1=0;
按钮2=0;
按钮3clicked=0;
按钮4单击=0;
}
}
功能按钮4check(){
按钮4点击=1;
如果(button1clicked==1&&button2clicked==1&&button3clicked==1&&button4clicked==1){
警惕(“你赢了!”);
按钮1=0;
按钮2=0;
按钮3clicked=0;
按钮4单击=0;
}
}
我会提出一种不同的方法。使用下面的代码,您可以在winner
数组中设置获胜组合。如果clickcount等于按钮计数,并且未单击获胜组合,则游戏将重置
let winner=[[1,3],[2,4];
让点击=[];
让btns=Array.from(document.getElementsByTagName(“按钮”);
btns.forEach(b=>{
b、 addEventListener('click',函数(el){
让number=el.target.id.replace(/[^0-9]/g,“”);
点击。推送(编号);
如果(winner.some(w=>w.sort().join(“”===clicked.sort().join(“”))){
警惕(“你是赢家”);
点击=[];
}else if(clicked.length==btns.length){
点击=[];
警惕(“不!”);
}
})
})
按钮1
按钮2
按钮3
按钮4
这是一个正在运行的示例,但是,您的代码也在运行
var-btns=[0,0,0,0];
函数检查按钮(){
如果(基站[0]==1&&基站[1]==1&&基站[2]==1&&基站[3]==1){
警惕(“你赢了!”);
对于(变量i=0;i
按钮1
按钮2
按钮3
按钮4
我们是否可以设置多个数组,比如一个数组用于一个组合,另一个数组用于另一个组合。编辑答案以便@vamshi