jQuery简单自定义图片轮播插件及用法示例


Posted in Javascript onNovember 21, 2016

本文实例讲述了jQuery简单自定义图片轮播插件及用法。分享给大家供大家参考,具体如下:

经常使用别人的插件,现在自己写一个,纪念一下。

jQuery.banner.js:

/*
* banner 0.1
* 使用banner 实现图片定时切换 鼠标经过停止动画
* 鼠标离开,继续动画
*/
;(function($){
  $.fn.banner =function(options){
    //各种属性和参数
    var defaults ={
       picWidth:"1000",
      picHeight:"300",
      speed:"1500"
    };
    var totalW = 0;  //保存总的动画宽度
    var timer = null; //保存定时器
    var current = 0; //保存当前动画到第N张图,下次从这里开始
    var totalNum = 0; //保存总的图数
    var Dsqtime = 0; //定义定时器时间 【外传参数】
    var Dhtime = 0;  //定义动画时间
    var count = 0 ;
    //合并多个对象为一个,即有新参数 用新的,否则用默认的
    var options = $.extend(defaults, options);
    this.each(function(){
      //实现代码
      var __this = $(this);
      Dsqtime = options.speed;
      Dhtime = Dsqtime/3;
      //初始化
      init(__this);
      //调用动画
      show(__this, options.picWidth,current);
      //鼠标经过时事件
      __this.find('ul li').bind('mouseover',function(){
        window.clearInterval(timer); //清除定时器
      });
      __this.find('ul li').bind('mouseout',function(){
        show(__this, options.picWidth,current);
         //接着上一次动画轮播
      });
    });
    //初始化 设定父容器宽度
    function init(obj){
      obj.find('ul li').each(function(){
         totalW += $(this).width();
         totalNum++;
       });
      obj.find('ul').width(totalW);
    }
    //开始动画显示
    function show(obj, width, current){
      timer = setInterval(function(){
      obj.find('ul').animate({'margin-left':'-'+count*width+'px'},
         Dhtime);
          current = count;
          count++;
          if(count == totalNum){
           count =0;
          }
       }, Dsqtime);
    }
  };
})(jQuery);

html代码:

<!doctype html>
<html>
 <head>
   <meta charset="utf8"/>
   <script type="text/javascript" src="./js/jquery.min.js"></script>
   <script type="text/javascript" src="./js/jquery.banner.js"></script>
   <script type="text/javascript">
     $(document).ready(function(){
       $('.wrap').banner({
        picWidth:"1000",
        picHeight:"300",
        speed:"6000"
       });
     });
   </script>
   <style type="text/css">
     *{margin:0;padding:0;}
     .wrap{width:1000px; height:300px; overflow:hidden; margin:0 auto;}
     .wrap ul li{float:left; list-style:none;}
     .wrap ul li img{width:1000px;height:300px;}
     .clear{clear: both;}
   </style>
 </head>
 <body>
   <div>
    <div class="wrap">
      <ul>
        <li><a href="#"><img src="./images/1.jpg"/></a></li>
        <li><a href="#"><img src="./images/2.jpg"/></a></li>
        <li><a href="#"><img src="./images/3.jpg"/></a></li>
        <li><a href="#"><img src="./images/4.jpg"/></a></li>
        <li><a href="#"><img src="./images/5.jpg"/></a></li>
      </ul>
      <div class="clear"></div>
    </div>
   </div>
 </body>
</html>

效果图:

jQuery简单自定义图片轮播插件及用法示例

希望本文所述对大家jQuery程序设计有所帮助。

Javascript 相关文章推荐
jquery ajax跨域解决方法(json方式)
Feb 04 Javascript
JQuery与Ajax调用新浪API获取短网址的代码
Feb 07 Javascript
raphael.js绘制中国地图 地图绘制方法
Feb 12 Javascript
express的中间件cookieParser详解
Dec 04 Javascript
Javascript实现禁止输入中文或英文的例子
Dec 09 Javascript
jQuery获取样式中颜色值的方法
Jan 29 Javascript
详解JavaScript ES6中的模板字符串
Jul 28 Javascript
Angular2自定义分页组件
Apr 19 Javascript
微信小程序实现根据字母选择城市功能
Aug 16 Javascript
Vuex实现计数器以及列表展示效果
Mar 10 Javascript
Vue.js组件使用props传递数据的方法
Oct 19 Javascript
前端vue+elementUI如何实现记住密码功能
Sep 20 Javascript
Node.js测试中的Mock文件系统详解
Nov 21 #Javascript
JavaScript中boolean类型之三种情景实例代码
Nov 21 #Javascript
基于jQuery实现Tabs选项卡自定义插件
Nov 21 #Javascript
基于jQuery实现Accordion手风琴自定义插件
Oct 13 #Javascript
详解JSON1:使用TSQL查询数据和更新JSON数据
Nov 21 #Javascript
js原生实现FastClick事件的实例
Nov 20 #Javascript
常用原生js自定义函数总结
Nov 20 #Javascript
You might like
虫族 Zerg 热键控制
2020/03/14 星际争霸
让你的PHP同时支持GIF、png、JPEG
2006/10/09 PHP
php中通过虚代理实现延迟加载的实现代码
2011/06/10 PHP
PHP图形操作之Jpgraph学习笔记
2015/12/25 PHP
thinkphp5.1框架实现格式化mysql时间戳为日期的方式小结
2019/10/10 PHP
Laravel框架中队列和工作(Queues、Jobs)操作实例详解
2020/04/06 PHP
jQuery 选择器理解
2010/03/16 Javascript
javascript调试之DOM断点调试法使用技巧分享
2014/04/15 Javascript
web前端设计师们常用的jQuery特效插件汇总
2014/12/07 Javascript
JavaScript实现仿网易通行证表单验证
2015/05/25 Javascript
Bootstrap框架动态生成Web页面文章内目录的方法
2016/05/12 Javascript
JavaScript的String字符串对象常用操作总结
2016/05/26 Javascript
ES6新特性之字符串的扩展实例分析
2017/04/01 Javascript
深入理解Commonjs规范及Node模块实现
2017/05/17 Javascript
js中el表达式的使用和非空判断方法
2018/03/28 Javascript
Taro集成Redux快速上手的方法示例
2018/06/21 Javascript
详解基于DllPlugin和DllReferencePlugin的webpack构建优化
2018/06/28 Javascript
用vscode开发vue应用的方法步骤
2019/05/06 Javascript
javascript实现函数柯里化与反柯里化过程解析
2019/10/08 Javascript
用Python解析XML的几种常见方法的介绍
2015/04/09 Python
Python实现的简单hangman游戏实例
2015/06/28 Python
Python使用文件锁实现进程间同步功能【基于fcntl模块】
2017/10/16 Python
Python爬虫爬取一个网页上的图片地址实例代码
2018/01/16 Python
Python cookbook(数据结构与算法)从任意长度的可迭代对象中分解元素操作示例
2018/02/13 Python
Python操作MySQL数据库的方法
2018/06/20 Python
python一行sql太长折成多行并且有多个参数的方法
2018/07/19 Python
Python3中在Anaconda环境下安装basemap包
2018/10/21 Python
对django xadmin自定义菜单的实例详解
2019/01/03 Python
Html5移动端网页端适配(js+rem)
2021/02/03 HTML / CSS
Perfume’s Club澳大利亚官网:西班牙领先的在线美容店
2021/02/01 全球购物
Tomcat Mysql datasource数据源配置
2015/12/28 面试题
Discard Protocol抛弃协议的作用是什么
2015/10/10 面试题
毕业生简单求职信
2013/11/19 职场文书
留学推荐信怎么写
2014/01/25 职场文书
法学专业毕业实习自我鉴定2014
2014/09/27 职场文书
会计求职信怎么写
2015/03/20 职场文书