我有一个使用jQuery实现的非常简单的滑块;它只支持一个滑块,我希望它能够支持同一页面上的多个滑块。
例如:在同一页上有滑块1、滑块2、滑块3等。
这里有一个可工作的示例working example。
我知道我需要使用each函数-我也尝试过了,但它停止工作了。我不知道我错在哪里。这是我尝试过的代码,因为代码太长了,所以我把它缩短了:
例如:在同一页上有滑块1、滑块2、滑块3等。
这里有一个可工作的示例working example。
我知道我需要使用each函数-我也尝试过了,但它停止工作了。我不知道我错在哪里。这是我尝试过的代码,因为代码太长了,所以我把它缩短了:
$('#slider').each(function() {
var current_slider = $(this);
//slider codes in here
});
以下是我的完整代码:
$(function(){
var Slider = 0;
$.Slider = function(total){
$("#indicator li").removeClass("active");
$("#image li").hide();
if (Slider < total -1){
Slider++;
$("#indicator li:eq("+Slider+")").addClass("active");
$("#image li:eq("+Slider+")").fadeIn("slow");
}else {
$("#indicator li:first").addClass("active");
$("#image li:first").fadeIn("slow");
Slider = 0;
}
}
var totalLi = $("#indicator li").length;
var interval = setInterval('$.Slider('+totalLi+')',5000);
$("#slider").hover(function(){
clearInterval(interval);
},function(){
interval = setInterval('$.Slider('+totalLi+')',5000);
});
$("#indicator li:first").addClass("active");
$("#image li").hide();
$("#image li:first").show();
$("#indicator li").hover(function(){
var indicators = $(this).index();
$("#indicator li").removeClass("active");
$(this).addClass("active");
$("#image li").hide();
$("#image li:eq("+indicators+")").fadeIn("slow");
Slider = indicators;
return true;
});
});
我不想为每个滑块重复相同的代码。 我希望它像这个示例一样支持多个滑块;该示例使用了each函数来获取所有滑块,但它没有mouseenter和mouseleave以及指示器。