$.fn.slider = function(opts) { var $elm = $(this); var $inner = $elm.find('.sliderInner'), $ul = $inner.find('ul:first'); var $prev = $elm.find('.btn_prev'), $next = $elm.find('.btn_next'); var $cur = $elm.find('.sliderCur'); var w = $inner.width(), s = $ul.find('li').size(); var timer, index = 0; var defaults = { t : 3500, t2 : 320, w : w, btns : true, play : true, cur : false }; var opts = $.extend(defaults, opts || {}); w = opts.w; $ul.find('img').each(function() { var _this = $(this); var _img = new Image(); _img.src = _this.attr('src'); var num = 0; var imgTimer = setInterval(function(){ num++; if(_img.width!=0||_img.height!=0||num>=50){ clearInterval(imgTimer); _this.css({ 'position':'absolute', 'top':'0px', 'left':'50%', 'marginLeft':-_img.width / 2 }); } },20); }); var go = { auto : function() { $ul.width(w * s); $ul.find('li').width(w); $ul.find('li').each(function() { }); $elm.hover(go.stop, go.start); if (opts.play) { go.start(); } if (opts.btns) { $prev.click(go.prev); $next.click(go.next); } else { $prev.hide(); $next.hide(); } if (opts.cur) { $cur.find('a').hover(function() { index = $(this).index(); go.current(); }); } else { $cur.hide(); } }, start : function() { timer = setInterval(go.next, opts.t); }, stop : function() { clearInterval(timer); }, next : function() { if (opts.cur) { index++; if (index >= s) { index = 0; } go.current(); } else { $ul.stop(true).animate({ 'marginLeft' : -w }, opts.t2, function() { $ul.css('marginLeft', 0); $ul.find('li:first').appendTo($ul); }); } }, prev : function() { if (opts.cur) { index--; if (index < 0) { index = s - 1; } go.current(); } else { $ul.css('marginLeft', -w); $ul.find('li:last').prependTo($ul); $ul.stop(true).animate({ 'marginLeft' : '0px' }, opts.t2); } }, current : function() { $ul.stop(true).animate({ 'marginLeft' : -index * w }, opts.t2, function() { $cur.find('a.cur').removeClass('cur'); $cur.find('a').eq(index).addClass('cur'); }); } } go.auto(); } $.fn.fadeSlider = function(opts) { var $elm = $(this); var $inner = $elm.find('.sliderInner'), $ul = $inner.find('ul:first'); var $prev = $elm.find('.btn_prev'), $next = $elm.find('.btn_next'); var $cur = $elm.find('.sliderCur'); var w = $inner.width(), s = $ul.find('li').size(); var timer, index = 0; var defaults = { t : 3500, t2 : 320, w : w, btns : true, play : true, cur:false }; var opts = $.extend(defaults, opts || {}); w = opts.w; $ul.find('li:first').show().css('zIndex', s).addClass('cur').siblings('li').hide(); $ul.find('img').each(function() { var _this = $(this); var _img = new Image(); _img.src = _this.attr('src'); var num = 0; var imgTimer = setInterval(function(){ num++; if(_img.width!=0||_img.height!=0||num>=50){ clearInterval(imgTimer); _this.css({ 'position':'absolute', 'top':'0px', 'left':'50%', 'marginLeft':-_img.width / 2 }); } },20); }); var go = { auto : function() { var _this = this; //$ul.width(w * s); $elm.hover(go.stop, go.start); if (opts.play) { go.start(); } if (opts.btns) { $prev.click(go.prev); $next.click(go.next); } else { $prev.hide(); $next.hide(); } if(opts.cur){ $cur.find('a').hover(function(){ index = $(this).index(); _this.current2(); },function(){}); } }, start : function() { timer = setInterval(go.next, opts.t); }, stop : function() { clearInterval(timer); }, next : function() { index++; if (index >= s) { index = 0; } go.current(); }, prev : function() { index--; if (index < 0) { index = s - 1; } go.current(); }, current : function() { $ul.find('li.cur').fadeOut().removeClass('cur').css('zIndex', 0); $cur.find('a.cur').removeClass('cur'); $ul.find('li').eq(index).fadeIn().addClass('cur').css('zIndex', s); $cur.find('a').eq(index).addClass('cur'); }, current2 : function() { $ul.find('li.cur').hide().removeClass('cur').css('zIndex', 0); $cur.find('a.cur').removeClass('cur'); $ul.find('li').eq(index).show().addClass('cur').css('zIndex', s); $cur.find('a').eq(index).addClass('cur'); } } go.auto(); } $.fn.slider2 = function(opts) { var $elm = $(this); var $inner = $elm.find('.sliderInner'), $ul = $inner.find('ul:first'); var $prev = $elm.find('.btn_prev'), $next = $elm.find('.btn_next'); var $cur = $elm.find('.sliderCur'); var w = $inner.width(), s = $ul.find('li').size(); var timer, index = 0; var defaults = { t : 3500, t2 : 320, w : w, btns : true, play : true, cur : false }; var opts = $.extend(defaults, opts || {}); w = opts.w; var go = { auto : function() { $elm.hover(go.stop, go.start); if (opts.play) { go.start(); } if (opts.btns) { $prev.click(go.prev); $next.click(go.next); } else { $prev.hide(); $next.hide(); } if (opts.cur) { $cur.find('a').hover(function() { index = $(this).index(); go.current(); }); } else { $cur.hide(); } }, start : function() { timer = setInterval(go.next, opts.t); }, stop : function() { clearInterval(timer); }, next : function() { if (opts.cur) { index++; if (index >= s) { index = 0; } go.current(); } else { $ul.stop(true).animate({ 'marginTop' : -20 }, opts.t2, function() { $ul.css('marginTop', 0); $ul.find('li:first').appendTo($ul); }); } }, prev : function() { if (opts.cur) { index--; if (index < 0) { index = s - 1; } go.current(); } else { $ul.css('marginTop', -20); $ul.find('li:last').prependTo($ul); $ul.stop(true).animate({ 'marginTop' : '0px' }, opts.t2); } }, current : function() { $ul.stop(true).animate({ 'marginLeft' : -index * w }, opts.t2, function() { $cur.find('a.cur').removeClass('cur'); $cur.find('a').eq(index).addClass('cur'); }); } } go.auto(); } $.fn.slider3 = function(opts) { var elm = $(this), bCn = elm.find('.big_img'), bUl = bCn.find('ul:first'); var w = bCn.width(), h = bCn.height(), s = bUl.find('li').length; var btnPrev = elm.find('.btn_prev'), btnNext = elm.find('.btn_next'); var sCn = elm.find('.small_img'), sUl = sCn.find('ul:first'); var _timer, i = 0; var defaults = { t1 : 4500, t2 : 450 } var opts = $.extend(defaults, opts); bUl.width(w * s); sUl.width(125 * s); var go = { auto : function() { go.start(); elm.hover(go.stop, go.start); btnPrev.click(go.prev); btnNext.click(go.next); sUl.find('li').click(function() { i = $(this).index(); go.current(); }); }, start : function() { _timer = setInterval(go.next, opts.t1); }, stop : function() { clearInterval(_timer); }, next : function() { i++; if (i >= s) i = 0; go.current(); }, prev : function() { i--; if (i < 0) i = s - 1; go.current(); }, current : function() { bUl.stop(true).animate({ 'marginLeft' : -i * w }, opts.t2); if (s > 5) { if (i < 3) { sUl.stop(true).animate({ 'marginLeft' : '0px' }, opts.t2); } if (i >= 3 && i < s - 3) { sUl.stop(true).animate({ 'marginLeft' : -(i - 2) * 125 }, opts.t2); } if (i >= s - 3) { sUl.stop(true).animate({ 'marginLeft' : -(s - 5) * 125 }, opts.t2); } } sUl.find('li.cur').removeClass('cur'); sUl.find('li').eq(i).addClass('cur'); } } go.current(i); go.auto(); } //tab切换 $.fn.tabSlider2 = function(tabTag, tabCon) { var elm = $(this); tabTag.each(function(i) { $(this).hover(function() { tabCon.eq(i).show(); }, function() { tabCon.eq(i).hide(); }); }); }