1
所以,我有这个项目,其中带有字幕的图像显示,当你点击一个按钮时,下一个“幻灯片”显示,并且显示的幻灯片被隐藏。到现在为止还挺好。我的问题是:我需要创建一个按钮来检查当前可见的div,并隐藏它并显示前一个具有相同类“幻灯片”的div。我也需要帮助,我单击按钮显示下一张幻灯片,以显示只有相同的类,我有它的方式它搜索父元素的部分。需要检查div的可见性,以创建“导航菜单”
因此,
<button class="back"></button>
<div class="slide active">
<div class="trapezoid"><img src="https://dl.dropboxusercontent.com/u/67567510/IMG_0296.JPG" alt="" /></div>
<div class="hover_capt"></div>
<div class="capt">
<p>Tinha 24 Freiras</p>
<p>Mandei-as Fazer um Doce</p>
</div>
</div>
<div class="slide ">
<div class="trapezoid"><img src="" alt="" /></div>
<div class="hover_capt"></div>
<div class="capt">
<p>Tinha 24 Freiras</p>
<p>Mandei-as Fazer um Doce</p>
</div>
</div>
<div class="slide ">
<div class="trapezoid"><img src="https://dl.dropboxusercontent.com/u/67567510/IMG_0296.JPG" alt="" /></div>
<div class="hover_capt"></div>
<div class="capt">
<p>Tinha 24 Freiras</p>
<p>Mandei-as Fazer um Doce</p>
</div>
</div>
<div class="slide ">
<div class="trapezoid"><img src="" alt="" /></div>
<div class="hover_capt"></div>
<div class="capt">
<p>Tinha 24 Freiras</p>
<p>Mandei-as Fazer um Doce</p>
</div>
</div>
CSS:
.slide{
width: 100%;
height:500px;
display:none;
}
.centerer{
width: 100%;
}
.trapezoid {
width: 500px;
height: 333px;
background-color: white;
margin: 0 auto;
margin-top:50px;
}
.trapezoid img{
max-width: 100%;
max-height: 100%;
width: auto;
height: auto;
}
.hover_capt{
width:50px;
height:50px;
background-color:red;
margin: 0 auto;
position:relative;
top:-25px;
border-radius: 50%;
}
.capt{
text-align:center;
z-index: -999;
width:500px;
background-color:beige;
margin: 0 auto;
position:relative;
padding-top: 30px;
padding-bottom: 20px;
height: 60px;
top:-50px;
display:none;
}
/* Center the demo */
html, body { height: 100%; }
body {
background-color:#330033;
}
.back{
width:20px;
height: 20px;
background-color: pink;
outline: none;
}
.active{
display:inline;
}
而且Jquery的
$(document).ready(function(){
$(".hover_capt").hover(function() {
$(this).parent().find('.capt').slideToggle();
}
);
$(".hover_capt").click(function(){
$(this).parent().removeClass('active');
$(this).parent().next().addClass('active');
});
$(".back").click(function(){
});
});
最后一个Pen
编辑
$(document).ready(function() {
$(".trapezoid").hover(function() {
$(this).siblings('.capt').slideToggle();
});
$(".hover_capt").click(function() {
$(this).parent().removeClass('active');
$(this).parent().next('.slide').addClass('active');
if(current.next('.slide').is('.slide:first')) {
$('.hover_capt').hide();
}
$('.back').show();
});
$(".back").click(function() {
var current = $('.active');
current.removeClass('active');
current.prev('.slide').addClass('active');
if(current.prev('.slide').is('.slide:first')) {
$('.back').hide();
}
});
});
新的查询
和更新Pen
YES!只是一个细节,是否有可能,当它是第一个可见的元素时,你不能再往回走,或者最后一个元素继续下去? – Miguel 2015-03-30 23:08:46
如何在.hover_capt时为最后一个幻灯片div创建相同的效果? – Miguel 2015-03-30 23:31:57
如果我不断点击红色按钮,.hover_capt,最终幻灯片消失。最后一个不应该 – Miguel 2015-03-30 23:48:48