我是一个有用的助手,可以为您翻译文本。
我有一些按钮在我的HTML中。每个按钮都指向特定的DIV。我希望在单击另一个按钮时隐藏先前打开的DIV。到目前为止,我已经用jquery编写了代码,但我有一种奇怪的感觉,我正在把很多代码放入一个简单可实现的任务中。是否有比我尝试完成的更简单的方法?
这是我迄今为止所做的。
我的HTML:
我有一些按钮在我的HTML中。每个按钮都指向特定的DIV。我希望在单击另一个按钮时隐藏先前打开的DIV。到目前为止,我已经用jquery编写了代码,但我有一种奇怪的感觉,我正在把很多代码放入一个简单可实现的任务中。是否有比我尝试完成的更简单的方法?
这是我迄今为止所做的。
我的HTML:
<!DOCTYPE html>
<html xmlns="http://www.w3.org/1999/xhtml">
<head>
<title>TODO supply a title</title>
<meta name="viewport" content="width=device-width"/>
<script src='http://ajax.googleapis.com/ajax/libs/jquery/1.10.2/jquery.min.js'></script>
</head>
<body>
<div id="body">
<input type="button" name="division1" value="div1" class="buttons" id="button1"/>
<input type="button" name="division2" value="div2" class="buttons" id="button2"/>
<input type="button" name="division3" value="div3" class="buttons" id="button3"/>
<input type="button" name="division4" value="div4" class="buttons" id="button4"/>
<input type="button" name="division5" value="div5" class="buttons" id="button5"/>
<input type="button" name="division6" value="div6" class="buttons" id="button6"/>
<div id="div1" class="divs"></div>
<div id="div2" class="divs"></div>
<div id="div3" class="divs"></div>
<div id="div4" class="divs"></div>
<div id="div5" class="divs"></div>
<div id="div6" class="divs"></div>
</div>
</body>
</html>
我的CSS:
#body{
position: absolute;
left: 0;
top: 0;
width: 100%;
height: 100%;
background-color: #000;
}
.buttons{
width: 10%;
height: 5%;
position: relative;
left: 10%;
cursor: pointer;
z-index: 500;
}
.divs{
position: absolute;
left: 0;
top: 0;
width: 100%;
height: 100%;
display: none;
}
#div1{
background-color: #377D9F;
}
#div2{
background-color: #02B0E6;
}
#div3{
background-color: #4b9500;
}
#div4{
background-color: #aaa;
}
#div5{
background-color:#aa0000;
}
#div6{
background-color: aquamarine;
}
我的JQuery:
$(document).ready(function () {
$("#button1").click(function () {
$('#div1').toggle(100);
$("#div2,#div3,#div4,#div5,#div6").hide();
});
$("#button2").click(function () {
$("#div2").toggle(100);
$("#div1,#div3,#div4,#div5,#div6").hide();
});
$("#button3").click(function () {
$("#div3").toggle(100);
$("#div1,#div2,#div4,#div5,#div6").hide();
});
$("#button4").click(function () {
$("#div4").toggle(100);
$("#div1,#div2,#div3,#div5,#div6").hide();
});
$("#button5").click(function () {
$("#div5").toggle(100);
$("#div1,#div2,#div3,#div4,#div6").hide();
});
$("#button6").click(function () {
$("#div6").toggle(100);
$("#div1,#div2,#div3,#div4,#div5").hide();
});
});
我在我的html中有大约50个像上面的DIV。我认为使用上面的JQUERY是浪费代码行数的。我知道肯定有更好的方法来实现这个功能。虽然我的代码似乎很好用,但是在jquery中有没有一种方法可以隐藏之前的DIV,而不管用户点击哪个按钮?