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编程起步(第二课)
Feb 27 Javascript
js 省地市级联选择
Feb 07 Javascript
idTabs基于JQuery的根据URL参数选择Tab插件
Apr 11 Javascript
js循环改变div颜色具体方法
Jun 25 Javascript
实用的Jquery选项卡TAB示例代码
Aug 28 Javascript
jquery validation验证身份证号,护照,电话号码,email(实例代码)
Nov 06 Javascript
使用JS轻松实现ionic调用键盘搜索功能(超实用)
Sep 06 Javascript
Javascript highcharts 饼图显示数量和百分比实例代码
Dec 06 Javascript
JS使用正则表达式找出最长连续子串长度
Oct 26 Javascript
vue props传值失败 输出undefined的解决方法
Sep 11 Javascript
node.js 基于cheerio的爬虫工具的实现(需要登录权限的爬虫工具)
Apr 10 Javascript
Vue项目从webpack3.x升级webpack4不完全指南
Apr 28 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
解析Linux下Varnish缓存的配置优化
2013/06/20 PHP
PHP随机字符串生成代码(包括大小写字母)
2013/06/24 PHP
PHP中把有符号整型转换为无符号整型方法
2015/05/27 PHP
Zend Framework教程之分发器Zend_Controller_Dispatcher用法详解
2016/03/07 PHP
PHP魔术方法之__call与__callStatic使用方法
2017/07/23 PHP
js 实现css风格选择器(压缩后2KB)
2012/01/12 Javascript
jquery放大镜效果超漂亮噢
2013/11/15 Javascript
JS画线(实例代码)
2013/11/20 Javascript
一个判断抢购时间是否到达的简单的js函数
2014/06/23 Javascript
jquery text()方法取标签中的文本
2014/07/25 Javascript
js delete 用法(删除对象属性及变量)
2014/08/24 Javascript
jQuery原理系列-css选择器的简单实现
2016/06/07 Javascript
Angular路由简单学习
2016/12/26 Javascript
Vue.use源码分析
2017/04/22 Javascript
javascript 开发之网页兼容各种浏览器
2017/09/28 Javascript
nuxt+axios解决前后端分离SSR的示例代码
2017/10/24 Javascript
layui数据表格实现重载数据表格功能(搜索功能)
2019/07/27 Javascript
javascript将扁平的数据转为树形结构的高效率算法
2020/02/27 Javascript
JS实现canvas简单小画板功能
2020/06/23 Javascript
js实现3D旋转效果
2020/08/18 Javascript
[01:19:34]2014 DOTA2国际邀请赛中国区预选赛 New Element VS Dream time
2014/05/22 DOTA
python多线程threading.Lock锁用法实例
2014/11/01 Python
python实现爬虫统计学校BBS男女比例之数据处理(三)
2015/12/31 Python
老生常谈Python之装饰器、迭代器和生成器
2017/07/26 Python
Python网页正文转换语音文件的操作方法
2018/12/09 Python
class类在python中获取金融数据的实例方法
2020/12/10 Python
CSS3混合模式mix-blend-mode/background-blend-mode简介
2018/03/15 HTML / CSS
Lookfantastic日本官网:英国知名护肤、化妆品和头发护理购物网站
2018/04/21 全球购物
印度电子产品购物网站:Vijay Sales
2021/02/16 全球购物
为数据库创建索引都需要注意些什么
2012/07/17 面试题
汽车运用工程系毕业生自荐信
2013/12/27 职场文书
小学班主任评语大全
2014/04/23 职场文书
4s店活动策划方案
2014/08/25 职场文书
街道办残联2016年助残日活动总结
2016/04/01 职场文书
MySQL一些常用高级SQL语句
2021/07/03 MySQL
小喇叭开始广播了! 四十多年前珍贵老照片
2022/05/09 无线电