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 相关文章推荐
JQUBar 基于JQUERY的柱状图插件
Nov 23 Javascript
jquery根据锚点offset值实现动画切换
Sep 11 Javascript
30个经典的jQuery代码开发技巧
Dec 15 Javascript
node.js中的fs.readFileSync方法使用说明
Dec 15 Javascript
解读Bootstrap v4 sass设计
May 29 Javascript
js微信分享API
Oct 11 Javascript
正则表达式替换html元素属性的方法
Nov 26 Javascript
教大家轻松制作Bootstrap漂亮表格(table)
Dec 13 Javascript
js实现3D图片展示效果
Mar 09 Javascript
基于jQuery解决ios10以上版本缩放问题
Nov 03 jQuery
微信小程序中this.data与this.setData的区别详解
Sep 17 Javascript
完美解决通过IP地址访问VUE项目的问题
Jul 18 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中随机显示图片的函数代码
2011/06/23 PHP
php中mt_rand()随机数函数用法
2014/11/24 PHP
smarty模板引擎之配置文件数据和保留数据
2015/03/30 PHP
PHP中把有符号整型转换为无符号整型方法
2015/05/27 PHP
php resizeimage 部分jpg文件 生成缩略图失败的原因分析及解决办法
2016/03/23 PHP
浅析Yii2 gridview实现批量删除教程
2016/04/22 PHP
浅谈PHP各环境下的伪静态配置
2019/03/13 PHP
YII框架实现自定义第三方扩展操作示例
2019/04/26 PHP
jQuery 性能优化手册 推荐
2010/02/23 Javascript
jquery一般方法介绍 入门参考
2011/06/21 Javascript
js+jquery常用知识点汇总
2015/03/03 Javascript
AngularJS仿苹果滑屏删除控件
2016/01/18 Javascript
jQuery实现链接的title快速出现的方法
2017/02/20 Javascript
Angular实现的简单查询天气预报功能示例
2017/12/27 Javascript
js统计页面上每个标签的数量实例代码
2018/05/29 Javascript
微信小程序项目总结之点赞 删除列表 分享功能
2018/06/25 Javascript
微信小程序实践之动态控制组件的显示/隐藏功能
2018/07/18 Javascript
vue.js高德地图实现热点图代码实例
2019/04/18 Javascript
利用JavaScript将Excel转换为JSON示例代码
2019/06/14 Javascript
关于layui toolbar和template的结合使用方法
2019/09/19 Javascript
python使用xmlrpc实例讲解
2013/12/17 Python
Django集成百度富文本编辑器uEditor攻略
2014/07/04 Python
python获取元素在数组中索引号的方法
2015/07/15 Python
python获取txt文件词向量过程详解
2019/07/05 Python
Python利用requests模块下载图片实例代码
2019/08/12 Python
kafka-python 获取topic lag值方式
2019/12/23 Python
python如何安装下载后的模块
2020/07/03 Python
HTML5 input元素类型:email及url介绍
2013/08/13 HTML / CSS
优秀通讯员事迹材料
2014/01/28 职场文书
幼儿园清明节活动总结
2014/07/04 职场文书
2015年测量员工作总结
2015/05/23 职场文书
幼儿园老师新年寄语
2015/08/17 职场文书
2016年感恩教师节活动总结
2016/04/01 职场文书
如何使用vue3打造一个物料库
2021/05/08 Vue.js
关于Nginx中虚拟主机的一些冷门知识小结
2022/03/03 Servers
MySQL 原理优化之Group By的优化技巧
2022/08/14 MySQL