我正在尝试创建一个非常基本的幻灯片,用户可以在其中单击后退或下一个箭头以查看上一个或下一个元素。我发现了与此类似的各种问题,但它们是自动转换;我正在寻找元素在点击时一次切换一个。如果单击下一步,它应该前进,如果单击后退,它应该返回。如果有人从第一次点击返回,它应该显示最后一次;如果他们在最后一个上单击下一步,它将返回到第一个。
我目前拥有的代码循环遍历多个元素。我是这方面的新手,所以我无法弄清楚如何让它一次只运行一个。这必须与 jQuery 1.3.2 一起使用,因为我使用的站点已加载该库,我们无法更新它。
它不一定是 LI,如果出于某种原因更好的话,也可以是 div。任何有关如何实现的建议表示赞赏。
这是我的 fiddle 的链接,但基本的 HTML 将是:
<div id="arrow-next"></div>
<div id="arrow-back"></div>
<ul class="services">
<li style="display: block;">slide 1</li>
<li>slide 2</li>
<li>slide 3</li>
<li>slide 4</li>
<li>slide 5</li>
<li>slide 6</li>
</ul>
CSS:
ul.services li{
height: 500px;
width: 980px;
border: 1px solid #ccc;
text-align: center;
list-style-type: none;
position: absolute;
top: 0;
left: 0;
display: none;
background-color: #fff;
}
ul.services {
display: inline-block;
position: relative;
}
jQuery:
$(document).ready(function() {
$("#arrow-next").click(function() {
$('ul.services li').fadeOut(function(){
$(this).next().fadeIn('slow');
});
});
$("#arrow-back").click(function() {
$('ul.services li').fadeOut(function(){
$(this).prev().fadeIn('slow');
});
});
});
提前感谢您提供的任何帮助。我找到了这篇文章并尝试像这样进行更新,但它并没有改变我已经拥有的代码所发生的事情。
$(document).ready(function() {
$("#arrow-next").click(function() {
$('ul.services li').fadeOut(function(){
$(this).next().fadeIn('slow', function(){
$(this).prev().fadeOut('slow');
});
});
});
$("#arrow-back").click(function() {
$('ul.services li').fadeOut(function(){
$(this).prev().fadeIn('slow');
});
});
});