我在页面上有两个div
。其中一个是隐藏的,另一个是可见的。它们都在同一个地方,形成层次。第一个是背景(我们看不到),第二个是叠加(我们可以看到)。
我希望按钮能够切换div
的可见性。当我按下按钮时,它必须改变div
的可见性(拳头对背景,第二个进入叠加)。
如何使用jQuery
?
UPD
这是我的尝试http://jsfiddle.net/0qth6jdn
问题是我不知道如何使用div
制作图层。
答案 0 :(得分:2)
如果您只是需要更改可见性,Jquery的.toggle()
可能是最简单的方法。
如果你将div的两个类都设置为相同,那就更容易了。只需在按钮的点击事件中致电toggle
:
$(".myClass").toggle();
这是一个简单的例子:
JsFiddle Example
修改强>
这是你自己的小提琴更新。我将您的风格改为visibility: hidden
,而不是display: none;
,因为它允许您使用Jquery的.toggle()
而无需检查任何条件:
答案 1 :(得分:1)
单击按钮时执行此操作(您必须将IdOfDiv1和IdOfDiv2更改为实际的div ID):
$("#IdOfDiv1").toggle();
$("#IdOfDiv2").toggle();
答案 2 :(得分:1)
你可以这样做:
<input type="checkbox">
超过您想要的<div>
。id
喜欢'div-toggler`。#div-toggler ~ #your-hidden-div {display:none;}
#div-toggler:checked ~ #your-hidden-div {display:block;}
<label for="div-toggler">
<div>
:checked
,请使用[checked]
。<label onclick="var e=document.getElementById(this.getAttribute('for'));e.setAttribute('checked',e.checked);" for="div-toggler">
在css改变之后。看到新的更新后,很清楚:
if ($('#first').visibility == 'hidden' && $('#second').visibility == 'visible'){
应该是
if ($('#first').css('visibility') == 'hidden' && $('#second').css('visibility') == 'visible'){
实际上,这是正确的代码:
window.replaceDiv=function() {
if ($('#first').css('visibility') == 'hidden' && $('#second').css('visibility') == 'visible'){
$('#first').css('visibility','visible');
$('#second').css('visibility','hidden');
}
}
答案 3 :(得分:0)
有一百万种方法可以做到这一点。如果两个divs
都有ID,您可以简单地切换它们,如下所示:
$('#id-of-your-button').on('click', function(){
$('#id-first-div').toggle();
$('#id-second-div').toggle();
});
另一种方法是在父元素上切换一个类:
$('#id-of-your-button').on('click', function(){
$('#parent').toggleClass('switch');
});
然后通过css
应用所有更改#parent #id-second-div {
display: none;
}
#parent.switch #id-first-div {
display: none;
}
#parent.switch #id-second-div {
display: block;
}
这一切都取决于你的情况