我在另一个div中有div,如下所示。还提到了下面的jquery和css代码。
$(document).ready(function(){
$("#banner_animate").click(function () {
$(this).toggleClass('maximized');
/*$("div#hide").toggleClass('show');*/
$('#banner_animate>div#hide').toggleClass('show');
});
});

#banner_animate.maximized {
height:75px;
transition: height 0s linear;
border:1px solid black;
padding:10px;
width:300px;
}
#banner_animate {
height:20px;
transition: height 0s linear;
border:1px solid black;
padding:10px;
width:300px;
float: right;
}
#hide{
visibility: hidden;
}
#hide.show {
visibility: visible;
}

<script src="https://ajax.googleapis.com/ajax/libs/jquery/2.1.1/jquery.min.js"></script>
<div id="banner_animate" style="background:#F2F2F6"><font face ="Times New Roman" size="4">first </font>
<div id=hide>
more description goes here <br>
<a href="http://www.abcd.com">Read more!</a>
</div>
</div>
<div id="banner_animate" style="background:#F2F2F6"><font face ="Times New Roman" size="4">second </font>
<div id="hide">
more description goes here <br>
<a href="http://www.abcd.com">Read more!</a>
</div>
</div>
&#13;
我的意图是 首先点击,框应该展开,相关的文字(更多描述在这里......)应该显示。 点击第二个也应该适用。
当前输出 - 点击&#34;首先&#34;,最大化框并在&#34;第一&#34;中打印相关文本(子元素-div)。和&#34;第二&#34;。 &#34;第二&#34;不可点击。
有什么建议吗?
答案 0 :(得分:0)
首先,你不应该在同一个DOM中拥有2个ID。但是如果你想要它们是相同的,你可以将它们改为一个类。 (对banner_animate
和hide
)
另外,你正在做的是切换两个生皮,这样你就需要一个选择器,告诉它究竟要切换哪一个。
jsFiddle:https://jsfiddle.net/80cy6q2c/
答案 1 :(得分:0)
以下是您的代码的工作版本(请参阅下面的说明):
$(document).ready(function(){
$(".banner_animate").click(function () {
$(this).toggleClass('maximized');
});
});
.banner_animate.maximized {
height:75px;
transition: height 0s linear;
border:1px solid black;
padding:10px;
width:300px;
}
.banner_animate {
height:20px;
transition: height 0s linear;
border:1px solid black;
padding:10px;
width:300px;
float: right;
}
.hide{
visibility: hidden;
}
.banner_animate.maximized > .hide {
visibility: visible;
}
<script src="https://ajax.googleapis.com/ajax/libs/jquery/2.1.1/jquery.min.js"></script>
<div class="banner_animate" style="background:#F2F2F6"><font face ="Times New Roman" size="4">first </font>
<div class="hide">
more description goes here <br>
<a href="http://www.abcd.com">Read more!</a>
</div>
</div>
<div class="banner_animate" style="background:#F2F2F6"><font face ="Times New Roman" size="4">second </font>
<div class="hide">
more description goes here <br>
<a href="http://www.abcd.com">Read more!</a>
</div>
</div>
我做的是:
.maximized
类将隐藏的div设置为可见,这消除了对.show
类的需要; .show
类的JavaScript代码,因为不再需要它。