我创建了一个图片幻灯片,我希望在图片上方显示文字。我完成了这个,但我想要每个不同的文本集(注意所有文本混杂在一起,并且有三个文本跨度,每个图像一个)以显示适当的图像。有没有办法,我可以做到这一点,而无需改变我现有的Javascript。顺便说一句,我不希望任何人为该解决方案通过600多行javascript,这就是为什么我正在寻找更多的css解决方案来匹配Javascript或其他将根据图像更改文本的Javascript解决方案变化
我感谢任何帮助!
* {
padding: 0;
margin: 0;
}
body {
font-family: Sans-Serif;
}
.slider_img {
max-width: 100%;
/*height: 60vh;*/
/*height: 100vh;*/
}
.cycle-slideshow {
width: 100%;
display: block;
position: relative;
margin: 0 auto;
}
.image_text {
text-align: center;
font-size: 3em;
color: #FFF;
position: absolute;
top: 50%;
z-index: 1000;
left: 35%;
}
.cycle-prev, .cycle-next {
font-size: 200%;
color: #FFF;
display: block;
position: absolute;
top: 50%;
margin-top: -10px;
z-index: 999;
cursor: pointer;
}
.cycle-prev {
left: 10%;
}
.cycle-next {
right: 10%;
}
.cycle-pager {
width: 100%;
text-align: center;
display: block;
position: absolute;
bottom: 20px;
z-index: 999;
cursor: pointer;
}
.cycle-pager span {
text-indent: 100%;
white-space: nowrap;
width: 12px;
height: 12px;
display: inline-block;
border: 1px solid #FFF;
border-radius: 50%;
margin: 0 10px;
overflow: hidden;
}
.cycle-pager .cycle-pager-active {
background-color: #FFF;
}
<div class="cycle-slideshow">
<span class="image_text">Travelling has never been easier</span>
<span class="image_text">Beach</span>
<span class="image_text">Space</span>
<span class="cycle-prev">〈</span>
<span class="cycle-next">〉</span>
<span class="cycle-pager"></span>
<img class="slider_img" src="images/subway2.jpg" alt="subway">
<img class="slider_img" src="images/beach2.jpg" alt="beach">
<img class="slider_img" src="images/space2.jpg" alt="space">
</div>
该片段将我排除在外,所以我在评论中张贴了一个jsfiddle,以显示这是在做什么。
答案 0 :(得分:1)
删除插件代码并改为使用:
$(".slider_img").filter(":gt(0)").each(function() {
$(this).hide();
});
$(".image_text").filter(":gt(0)").each(function() {
$(this).hide();
});
current = 0;
limit = $(".slider_img").length;
$(".cycle-prev").click(function() {
current--;
if (current < 0) {
current = 2;
}
$($(".slider_img").hide().get(current)).fadeIn(1000);
$($(".image_text").hide().get(current)).fadeIn(1000);
});
$(".cycle-next").click(function() {
current++;
if (current >= 3) {
current = 0;
}
$($(".slider_img").hide().get(current)).fadeIn(1000);
$($(".image_text").hide().get(current)).fadeIn(1000);
});
setInterval(function() {
$(".cycle-next").click();
}, 5000);
如您所见,它是从头开始编写的,因此不依赖于插件代码:)