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广告代码
May 30 Javascript
javascript针对DOM的应用分析(二)
Apr 15 Javascript
jQuery动态创建html元素的常用方法汇总
Sep 05 Javascript
Javascript的表单验证长度
Mar 16 Javascript
JavaScript实现设计模式中的单例模式的一些技巧总结
May 17 Javascript
javascript和jQuery实现网页实时聊天的ajax长轮询
Jul 20 Javascript
全面接触神奇的Bootstrap导航条实战篇
Aug 01 Javascript
解决vue router组件状态刷新消失的问题
Aug 01 Javascript
函数式编程入门实践(一)
Apr 20 Javascript
Vue(定时器)解决mounted不能获取到data中的数据问题
Jul 30 Javascript
微信小程序完美解决scroll-view高度自适应问题的方法
Aug 08 Javascript
React服务端渲染原理解析与实践
Mar 04 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源代码
2006/10/09 PHP
PHP 危险函数全解析
2009/09/09 PHP
来自phpguru得Php Cache类源码
2010/04/15 PHP
PHP XML数据解析代码
2010/05/26 PHP
学习thinkphp5.0验证类使用方法
2017/11/16 PHP
PHP使用pdo实现事务处理操作示例
2018/09/05 PHP
thinkphp5引入公共部分header、footer的方法详解
2018/09/14 PHP
thinkphp5.1框架中容器(Container)和门面(Facade)的实现方法分析
2019/08/05 PHP
phpwind放自动注册方法
2006/12/02 Javascript
jQuery中的常用事件总结
2009/12/27 Javascript
JQuery在光标位置插入内容的实现代码
2010/06/18 Javascript
javascript实现的固定位置悬浮窗口实例
2015/04/30 Javascript
js实现Select列表内容自动滚动效果代码
2015/08/20 Javascript
js学习阶段总结(必看篇)
2016/06/16 Javascript
Vue.js每天必学之过渡与动画
2016/09/06 Javascript
微信小程序中的swiper组件详解
2017/04/14 Javascript
jquery.validate表单验证插件使用详解
2017/06/21 jQuery
JavaScript EventEmitter 背后的秘密 完整版
2018/03/29 Javascript
vue+webpack模拟后台数据的示例代码
2018/07/26 Javascript
实例详解Vue项目使用eslint + prettier规范代码风格
2018/08/20 Javascript
element-ui table span-method(行合并)的实现代码
2018/12/20 Javascript
Vue + Scss 动态切换主题颜色实现换肤的示例代码
2020/04/27 Javascript
使用Python读写文本文件及编写简单的文本编辑器
2016/03/11 Python
利用Python将时间或时间间隔转为ISO 8601格式方法示例
2017/09/05 Python
用python统计代码行的示例(包括空行和注释)
2018/07/24 Python
python 获取url中的参数列表实例
2018/12/18 Python
Python实现批量执行同目录下的py文件方法
2019/01/11 Python
appium+python adb常用命令分享
2020/03/06 Python
canvas烟花特效锦集
2018/01/17 HTML / CSS
eDreams巴西:廉价机票,酒店优惠和度假套餐
2017/04/14 全球购物
Hotels.com英国:全球领先的酒店住宿提供商
2019/01/24 全球购物
匡威俄罗斯官网:Converse俄罗斯
2020/05/09 全球购物
Linux中如何用命令创建目录
2016/12/02 面试题
承德避暑山庄导游词
2015/02/03 职场文书
业务员岗位职责范本
2015/04/03 职场文书
遗嘱格式范本
2015/08/07 职场文书