jquery图片切换插件


Posted in Javascript onMarch 16, 2015
/**

 * 图片切换插件

 * Dependence jquery-1.7.2.min.js

 **/

(function ($) {

  //调用方式 $('#silder').imgSilder({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>

                <img src="css/img/1.jpg" border="0" alt="刘淇同志参观北京市志愿者之家">

            </li>

            <li>

                <img src="css/img/2.jpg" border="0" alt="刘淇同志与志愿者合影">

            </li>

            <li>

                <img src="css/img/3.jpg" border="0" alt="刘淇同志到北京大学人民医院调研">

            </li>

            <li>

                <img src="css/img/4.jpg" border="0" alt="2013中国志愿服务国际交流大会在京举行">

            </li>                    

        </ul>

    </div>

  */

  $.fn.silderDefaults = { //默认参数

    s_width:500, //容器宽度

    s_height:500, //容器高度

    is_showTit:true, // 是否显示图片标题 false :不显示,true :显示

    s_times:3000, //设置滚动时间

    css_link:'css/style.css'

  };

  $.extendSilder = function (obj,opt) { //obj 元素对象,opt 参数对象

    var g = {  //公共方法, 外部可调用

      //初始化

        init: function () {

            var wh ={width:opt.s_width,height:opt.s_height};

            var pagesize=0; //页码

            var silderList = $('#silder_list',g.obj);

            var silderList_li = $('#silder_list li',g.obj);

            g.LoadCSS(opt.css_link); //样式文件导入

            g.obj.css(wh); silderList.css(wh); silderList_li.find('img').css(wh); //设置宽高属性

            var currHtml = ""; //加入播放页码 及文字描述

            if(opt.is_showTit){ //判断是否显示标题

                currHtml += "<div class='silder_desc' id='silder_desc'></div>";

            }

            img_size = silderList_li.size() ;//图片个数

            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>";

            silderList_li.eq(0).show().siblings().hide(); //初始化隐藏其他图片

            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').text(silderList_li.eq(0).find('img').attr('alt'));

            }

            silderPage_li.on('click',function(){

                pagesize = $(this).index();

                silderList_li.eq(pagesize).fadeIn(1000).siblings().fadeOut(100);

                $(this).addClass('current').siblings().removeClass('current');

                if(opt.is_showTit){

                    $('#silder_desc').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_li.eq(pagesize).fadeIn(1000).siblings().fadeOut(100);

                    silderPage_li.eq(pagesize).addClass('current').siblings().removeClass('current');

                    if(opt.is_showTit){

                        $('#silder_desc').text(silderList_li.eq(pagesize).find('img').attr('alt'));

                    }

                    pagesize++;

                    if(pagesize >= img_size){

                        pagesize = 0;

                    }

                }

            },opt.s_times);}).trigger("mouseout"); //悬浮时 停止自动动画,trigger 起默认触发作用

        },

          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);

          }

    };

    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);

以上就是本文给大家分享的代码的全部内容了,希望大家能够喜欢

Javascript 相关文章推荐
JavaScript中Object和Function的关系小结
Sep 26 Javascript
JS获取农历日期具体实例
Nov 14 Javascript
通过js为元素添加多项样式,浏览器全兼容写法
Aug 30 Javascript
使用javascript实现Iframe自适应高度
Dec 24 Javascript
JavaScript数据结构与算法之集合(Set)
Jan 29 Javascript
knockoutjs动态加载外部的file作为component中的template数据源的实现方法
Sep 01 Javascript
JavaScript生成验证码并实现验证功能
Sep 24 Javascript
微信小程序 网络API Websocket详解
Nov 09 Javascript
vue兄弟组件传递数据的实例
Sep 06 Javascript
tsconfig.json配置详解
May 17 Javascript
javascript sort()对数组中的元素进行排序详解
Oct 13 Javascript
Vuex中的Mutations的具体使用方法
Jun 01 Javascript
JavaScript中的方法重载实例
Mar 16 #Javascript
jquery中attr和prop的区别分析
Mar 16 #Javascript
JavaScript中扩展Array contains方法实例
Aug 23 #Javascript
JavaScript中消除闭包的一般方法介绍
Mar 16 #Javascript
jQuery实现的支持IE的html滑动条
Mar 16 #Javascript
JavaScript计算两个日期时间段内日期的方法
Mar 16 #Javascript
nw.js实现类似微信的聊天软件
Mar 16 #Javascript
You might like
索尼SONY ICF-SW7600GR电路分析与改良
2021/03/02 无线电
Thinkphp多文件上传实现方法
2014/10/31 PHP
php实现计数器方法小结
2015/01/05 PHP
Yii2中DropDownList简单用法示例
2016/07/18 PHP
PHP日期和时间函数的使用示例详解
2020/08/06 PHP
js jquery验证银行卡号信息正则学习
2013/01/21 Javascript
在javascript中关于节点内容加强
2013/04/11 Javascript
改变状态栏文字的js代码
2014/06/13 Javascript
JavaScript生成二维码图片小结
2015/12/27 Javascript
JavaScript String 对象常用方法总结
2016/04/28 Javascript
利用AngularJs实现京东首页轮播图效果
2016/09/08 Javascript
pc加载更多功能和移动端下拉刷新加载数据
2016/11/07 Javascript
探讨AngularJs中ui.route的简单应用
2016/11/16 Javascript
输入框点击时边框变色效果的实现方法
2016/12/26 Javascript
jQuery实现动态生成表格并为行绑定单击变色动作的方法
2017/04/17 jQuery
vue mint-ui 实现省市区街道4级联动示例(仿淘宝京东收货地址4级联动)
2017/10/16 Javascript
js经验分享 JavaScript反调试技巧
2018/03/10 Javascript
JS实现的文件拖拽上传功能示例
2018/05/21 Javascript
element-ui 时间选择器限制范围的实现(随动)
2019/01/09 Javascript
JS判断数组是否包含某元素实现方法汇总
2020/06/24 Javascript
基于ajax实现上传图片代码示例解析
2020/12/03 Javascript
vue常用高阶函数及综合实例
2021/02/25 Vue.js
简单介绍使用Python解析并修改XML文档的方法
2015/10/15 Python
Python通过RabbitMQ服务器实现交换机功能的实例教程
2016/06/29 Python
python中异常报错处理方法汇总
2016/11/20 Python
Python实现的各种常见分布算法示例
2018/12/13 Python
Python 一句话生成字母表的方法
2019/01/02 Python
python迭代器常见用法实例分析
2019/11/22 Python
Python中bisect的使用方法
2019/12/31 Python
python 实现图片裁剪小工具
2021/02/02 Python
澳大利亚领先的女帽及配饰公司:Morgan&Taylor
2019/12/01 全球购物
简单的项目建议书模板
2014/03/12 职场文书
《九寨沟》教学反思
2014/04/08 职场文书
销售员工作检讨书(推荐篇)
2014/10/18 职场文书
2015年世界水日活动总结
2015/02/09 职场文书
2016年公司“3.12”植树节活动总结
2016/03/16 职场文书