(function ($) {
$.fn.silderdefaults = { //默认参数
s_width:500, //容器宽度
s_height:500, //容器高度
is_showtit:true, // 是否显示图片标题 false :不显示,true :显示
s_times:3000
};
$.extendsilder = function (obj,opt) { //obj 元素对象,opt 参数对象
var g = { //公共方法, 外部可调用
//初始化
init: function () {
var currhtml = "";
var wh ={width:opt.s_width,height:opt.s_height};
var br ={border:'#ff0 1px solid'};
var cssname='.'+obj.classname
var playtit = cssname+" .text";
var playpage = cssname+" .pnum";
var playpage_li = cssname+" .pnum li";
var playcon = cssname+" .list";
var playcon_li = cssname+" .list li";
var pagesize=0; //页码
$(cssname).css(wh);
$(playtit).css(br);
$(playcon).css(wh);
$(playcon_li).find('img').css(wh);
var img_size = $(playcon_li).size() ;
if(opt.is_showtit){ g.obj.append("
");}
currhtml += "";
for(var i=0; i < img_size; i++){currhtml += "";}
currhtml +="
";
g.obj.append(currhtml);//注入分页码
$(playcon_li).eq(0).show().siblings().hide();
$(playpage_li).eq(0).addclass('current');
if(opt.is_showtit){ //初始化图片描述
$(playtit).text($(playcon_li).eq(0).find('img').attr('alt'));
}
$(playpage_li).on('click',function(){
pagesize = $(this).index();
$(playcon_li).eq(pagesize).fadein(1000).siblings().fadeout(100);
$(this).addclass('current').siblings().removeclass('current');
if(opt.is_showtit){
$(playtit).text($(playcon_li).eq(pagesize).find('img').attr('alt'));
}
});
var t;
$(playcon).hover(function(){window.clearinterval(t); return;},function(){ t = window.setinterval(function(){
if(pagesize < img_size && pagesize >= 0)
{
$(playcon_li).eq(pagesize).fadein(1000).siblings().fadeout(100);
$(playpage_li).eq(pagesize).addclass('current').siblings().removeclass('current');
if(opt.is_showtit){
$(playtit).text($(playcon_li).eq(pagesize).find('img').attr('alt'));
}
pagesize++;
if(pagesize >= img_size){
pagesize = 0;
}
}
},opt.s_times);}).trigger("mouseout"); //悬浮时 停止自动动画,trigger 起默认触发作用
}
};
g.obj = $(obj);
g.init();
return g;
}
$.fn.imgsilder = function (options) {
if (this.length == 0) return; //判断对象是否存在
this.each(function () {
if (this.usedsilder) return;
var opt = $.extend({}, $.fn.silderdefaults, options); //合并已赋值参数
this.usedsilder = $.extendsilder(this, opt);
});
}
})(jquery);