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 相关文章推荐
doctype后如何获得body.clientHeight的方法
Jul 11 Javascript
jQuery Selector选择器小结
May 06 Javascript
浅谈页面装载js及性能分析方法
Dec 09 Javascript
JavaScript判断undefined类型的正确方法
Jun 30 Javascript
PageSwitch插件实现100种不同图片切换效果
Jul 28 Javascript
5 种JavaScript编码规范
Jan 30 Javascript
JavaScript正则表达式函数总结(常用)
Feb 22 Javascript
实例讲解vue源码架构
Jan 24 Javascript
Vue中JS动画与Velocity.js的结合使用
Feb 13 Javascript
微信小程序云开发 生成带参小程序码流程
May 18 Javascript
js实现鼠标拖拽div左右滑动
Jan 15 Javascript
JavaScript监听键盘事件代码实现
Jun 03 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
PHP下通过exec获得计算机的唯一标识[CPU,网卡 MAC地址]
2011/06/09 PHP
PHP文件上传问题汇总(文件大小检测、大文件上传处理)
2015/12/24 PHP
php实现用户登陆简单实例
2017/04/04 PHP
Dojo 学习要点
2010/09/03 Javascript
lyhucSelect基于Jquery的Select数据联动插件
2011/03/29 Javascript
JQuery中如何传递参数如click(),change()等具体实现
2013/04/28 Javascript
Javascript中匿名函数的多种调用方式总结
2013/12/06 Javascript
jquery无刷新验证邮箱地址实现实例
2014/02/19 Javascript
JavaScript中的style.cssText使用教程
2014/11/06 Javascript
node.js中的fs.chownSync方法使用说明
2014/12/16 Javascript
Bootstrap教程JS插件弹出框学习笔记分享
2016/05/17 Javascript
Angular外部使用js调用Angular控制器中的函数方法或变量用法示例
2016/08/05 Javascript
使用Angular.js开发的注意事项
2016/10/19 Javascript
微信小程序实现锚点定位楼层跳跃的实例
2017/05/18 Javascript
ES6中的Promise代码详解
2017/10/09 Javascript
react+ant design实现Table的增、删、改的示例代码
2018/12/27 Javascript
小程序页面动态配置实现方法
2019/02/05 Javascript
详解关于微信setData回调函数中的坑
2019/02/18 Javascript
仿照Element-ui实现一个简易的$message方法
2020/09/14 Javascript
Python实现Logger打印功能的方法详解
2017/09/01 Python
python 实现GUI(图形用户界面)编程详解
2019/07/17 Python
使用PyTorch训练一个图像分类器实例
2020/01/08 Python
flask 框架操作MySQL数据库简单示例
2020/02/02 Python
python批量处理多DNS多域名的nslookup解析实现
2020/06/28 Python
python中count函数知识点浅析
2020/12/17 Python
浅析移动设备HTML5页面布局
2015/12/01 HTML / CSS
Top Villas美国:豪华别墅出租和度假屋
2018/07/10 全球购物
会计电算化专业毕业生推荐信
2013/12/24 职场文书
大三毕业自我鉴定
2014/01/15 职场文书
优秀应届毕业生推荐信
2014/02/18 职场文书
银行先进个人事迹材料
2014/05/11 职场文书
理财计划书
2014/08/14 职场文书
2019最新版试用期劳动合同模板!
2019/07/04 职场文书
解决SpringBoot文件上传临时目录找不到的问题
2021/07/01 Java/Android
java多态注意项小结
2021/10/16 Java/Android
pycharm安装深度学习pytorch的d2l包失败问题解决
2022/03/25 Python