我正在使用jQuery创建自定义内容滑块。请参阅小提琴here以获取工作示例。在此示例中,我只有2张幻灯片。单击绿色按钮时,将滑至下一个。
我想为此添加更多幻灯片,并单击按钮以滑动到每个幻灯片(没有上一个按钮)。当前的jQuery函数具有下一个div的id
硬编码。现在,当我添加更多幻灯片时,此方法将无效。我不知道如何编写一个函数来说,检测您所在的当前div,然后单击下一步时转到下一个。我该如何实现?
谢谢。
我已经在下面发布了代码。
的HTML
<div id="main-slider-space">
<div class="slider-wrapper">
<div id="slide1" class="main-slide">
</div><!-- end of slide1 -->
<div id="slide2" class="main-slide">
</div><!-- end of slide2 -->
</div> <!-- end of slider-wrapper -->
</div><!-- end of main-slider-space -->
<div id="main-slider-next" class="slider-buttons"><a class="active" href="#"></a></div>
的CSS
#main-slider-space {
overflow:hidden;
width:600px;
height:300px;
background-color:#C36;
margin-left:50px;
}
.slider-wrapper {
position:relative;
left:0;
width:3000px;
height:100%;
}
.main-slide {
width:600px;
height:100%;
float:left;
}
#slide1 { background-color:#5FF; }
#slide2 { background-color:#F5F; }
.slider-buttons {
position:absolute;
width:30px;
height:30px;
}
.slider-buttons:hover { cursor:pointer; }
#main-slider-next {
background-color:#99CC66;
right:30px;
top:50%;
}
jQuery的
function goto(id, t){
$(".slider-wrapper").animate({"left": -($(id).position().left)}, 600);
}
$(document).ready(function(e) {
$('#main-slider-next').click(function(e) {
e.preventDefault();
goto('#slide2', this);
return false;
});
});
Fiddle
最佳答案
我会用css制作动画,这是我在您的动画中所做的更改:
.main-slide {
position:absolute;
width:600px;
height:100%;
-webkit-transition:left 0.5s linear;
-moz-transition:left 0.5s linear;
-o-transition:left 0.5s linear;
transition:left 0.5s linear;
}
.main-slide:not(.current){
left:600px;
}
.main-slide.current{
left:0px;
}
然后在您的点击处理程序中,只需更改当前元素的类即可:
$(document).ready(function(e) {
$('#main-slider-next').click(function(e) {
e.preventDefault();
next();
return false;
});
});
function next(){
var cur = $(".slider-wrapper").children(".current");
var next = cur.next(".main-slide");
if(next.length) {
cur.removeClass("current");
next.addClass("current");
}
}
这是我所做的事情的小提琴http://jsfiddle.net/NeekGerd/rhXZT/1/
如果您想保留上一张幻灯片,只需删除以下行:
cur.removeClass("current");
关于jquery - 内容滑块,带3张幻灯片,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/14801150/