www.gusucode.com > mcms手机网站系统 v3.1源码程序 > mcms_v3.1.0/upload/static/libs/img.silder/jquery.img.silder.big.js
/** * 图片切换插件 * Powered By Mr Zhou * QQ 627266138 * E-mail 627266138qq.com * Date 2013-12-24 * Dependence jquery-1.7.2.min.js **/ (function ($) { //调用方式 $('#silder').imgSilderBig({s_width:564, s_height:293, is_showTit:true, s_times:3000,css_link:'css/style.css'}); 容器必须加入 id silder_list or class silder_list /*参考结构 <div class="silder" id="silder"> <ul class="silder_list" id="silder_list"> <li style="background:url(img/xx.png);" href="http://www.baidu.com"></li> </ul> </div> */ $.fn.silderDefaults = { //默认参数 s_width:500, //容器宽度 s_height:500, //容器高度 min_width:'1200',//设置最小宽度 is_showTit:true, // 是否显示图片标题 false :不显示,true :显示 s_times:3000, //设置滚动时间 on:'click', css_link:'css/style.css', //留空则不传 pageClick:['pagePrev','pageNext'],//#pagePrev 上一页,#pagePrev 下一页 传ID lfPage:true //判断是否显示左右翻页 false 不显示,true显示 }; $.extendSilder = function (obj,opt) { //obj 元素对象,opt 参数对象 var g = { //公共方法, 外部可调用 //初始化 init: function () { s_widths = 0,wh={}; pagesize=0; //页码 silderList = $('#silder_list',g.obj); silderList_li = $('#silder_list li',g.obj); if(opt.css_link != ''){ // 判断传值不为空则添加样式 g.LoadCSS(opt.css_link); //样式文件导入 } img_size = silderList_li.size() ;//图片个数 var currHtml = ""; //加入播放页码 及文字描述 if(opt.is_showTit){ //判断是否显示标题 currHtml += "<div class='silder_desc' id='silder_desc'></div>"; } currHtml += "<ul class='silder_page' id='silder_page'>";//分页码代码注入 for(var i=0; i < img_size; i++){ currHtml += "<li>"+ parseInt((1 + i),10) +"</li>"; } currHtml +="</ul>"; g.css_resize(); $(window).resize(function(){g.css_resize();}); g.obj.append(currHtml);//注入分页码 var silderPage = $('#silder_page',g.obj); var silderPage_li =$('#silder_page li',g.obj); silderPage_li.eq(0).addClass('current'); if(opt.is_showTit){ //初始化图片描述 $('#silder_desc',g.obj).text(silderList_li.eq(0).find('img').attr('alt')); } silderPage_li.on(opt.on,function(){ pagesize = $(this).index(); silderList.stop(true,true).animate({marginLeft:- silderList_li.width() * pagesize},300); $(this).addClass('current').siblings().removeClass('current'); if(opt.is_showTit){ $('#silder_desc',g.obj).text(silderList_li.eq(pagesize).find('img').attr('alt')); } }); var t; silderList.hover(function(){window.clearInterval(t); return;},function(){ t = window.setInterval(function(){ if(pagesize < img_size && pagesize >= 0) { silderList.stop(true,true).animate({marginLeft:- silderList_li.width() * pagesize},300); silderPage_li.eq(pagesize).addClass('current').siblings().removeClass('current'); if(opt.is_showTit){ $('#silder_desc',g.obj).text(silderList_li.eq(pagesize).find('img').attr('alt')); } pagesize++; if(pagesize >= img_size){ pagesize = 0; } } },opt.s_times);}).trigger("mouseout"); //悬浮时 停止自动动画,trigger 起默认触发作用 if(opt.lfPage){//判断是否显示左右分页 g.obj.append("<a href='javascript:void(0);' id="+ opt.pageClick[0] +"></a><a href='javascript:void(0);' id="+ opt.pageClick[1] +"></a>") $("#" +opt.pageClick[0]+",#"+ opt.pageClick[1] +"").on('click',function(){ if(pagesize < img_size && pagesize >=0){ if($(this).attr('id') == opt.pageClick[0]){//上一页 pagesize--; } if($(this).attr('id') == opt.pageClick[1]){//下一页 pagesize++; } if(pagesize >= img_size){ pagesize = 0; }else if(pagesize < 0){ pagesize = img_size - 1; } silderList.stop(true,true).animate({marginLeft:- silderList_li.width() * pagesize},300); silderPage_li.eq(pagesize).addClass('current').siblings().removeClass('current'); if(opt.is_showTit){ $('#silder_desc',g.obj).text(silderList_li.eq(pagesize).find('img').attr('alt')); } } window.clearInterval(t); return; }).trigger("mouseout"); } }, LoadCSS:function(url){ //新建css var s = document.createElement("LINK"); s.rel = "stylesheet"; s.type = "text/css"; s.href = url; document.getElementsByTagName("HEAD")[0].appendChild(s); }, css_resize:function(){ //if(navigator.userAgent.indexOf("iPad") > 0 && $(window).width() < min_width){ if(g.checkMobile() && $(window).width() < opt.min_width){ s_widths = opt.min_width; }else{ s_widths = opt.s_width == "100%" ? $(window).width() : opt.s_width; } wh ={width:s_widths,height:opt.s_height}; g.obj.css(wh); silderList.css({width:s_widths * img_size,height:opt.s_height}); //设置宽高属性 silderList_li.css({float:"left",width:s_widths,height:opt.s_height}); //初始化隐藏其他图片 silderList.stop(true,true).css({marginLeft:- silderList_li.width() * pagesize}); },checkMobile:function(){//判断浏览器是否为手机客户端 var isiPad = navigator.userAgent.match(/iPad/i) != null; if(isiPad){ return true; } var isMobile=navigator.userAgent.match(/iphone|android|phone|mobile|wap|netfront|x11|java|opera mobi|opera mini|ucweb|windows ce|symbian|symbianos|series|webos|sony|blackberry|dopod|nokia|samsung|palmsource|xda|pieplus|meizu|midp|cldc|motorola|foma|docomo|up.browser|up.link|blazer|helio|hosin|huawei|novarra|coolpad|webos|techfaith|palmsource|alcatel|amoi|ktouch|nexian|ericsson|philips|sagem|wellcom|bunjalloo|maui|smartphone|iemobile|spice|bird|zte-|longcos|pantech|gionee|portalmmm|jig browser|hiptop|benq|haier|^lct|320x320|240x320|176x220/i)!= null; if(isMobile){ return true; } return false; } }; g.obj = $(obj); g.init(); return g; } $.fn.imgSilderBig = 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);