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 相关文章推荐
从Ajax到JQuery Ajax学习
Feb 14 Javascript
浏览器窗口大小变化时使用resize事件对框架不起作用的解决方法
May 11 Javascript
javascript父、子页面交互技巧总结
Aug 08 Javascript
JavaScript自定义等待wait函数实例分析
Mar 23 Javascript
javascript常用的方法整理
Aug 20 Javascript
jQueryUI DatePicker 添加时分秒
Jun 04 Javascript
js原生实现移动端手指滑动轮播图效果的示例
Jan 02 Javascript
vue插件开发之使用pdf.js实现手机端在线预览pdf文档的方法
Jul 12 Javascript
vue2 中二级路由高亮问题及配置方法
Jun 10 Javascript
vue中组件通信的八种方式(值得收藏!)
Aug 09 Javascript
Node 模块原理与用法详解
May 13 Javascript
CocosCreator入门教程之网络通信
Apr 16 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
phpstorm编辑器乱码问题解决
2014/12/01 PHP
微信支付PHP SDK之微信公众号支付代码详解
2015/12/09 PHP
JavaScript入门教程 Cookies
2009/01/31 Javascript
『jQuery』取指定url格式及分割函数应用
2013/04/22 Javascript
js同比例缩放图片的小例子
2013/10/30 Javascript
使用js dom和jquery分别实现简单增删改
2014/09/11 Javascript
用模版生成HTML的的框架jquery.tmpl使用详解
2015/01/07 Javascript
Javascript中的apply()方法浅析
2015/03/15 Javascript
由ReactJS的Hello world说开来
2015/07/02 Javascript
JS 事件绑定、事件监听、事件委托详细介绍
2016/09/28 Javascript
详解handlebars+require基本使用方法
2016/12/21 Javascript
jQuery中 DOM节点操作方法大全
2017/10/12 jQuery
详解Webpack+Babel+React开发环境的搭建的方法步骤
2018/01/09 Javascript
JavaScript实现简单的文本逐字打印效果示例
2018/04/12 Javascript
Puppeteer 爬取动态生成的网页实战
2018/11/14 Javascript
Vue动态创建注册component的实例代码
2019/06/14 Javascript
vue+vuex+axios从后台获取数据存入vuex,组件之间共享数据操作
2020/07/31 Javascript
Python 反转字符串(reverse)的方法小结
2018/02/20 Python
一看就懂得Python的math模块
2018/10/21 Python
在Pycharm中对代码进行注释和缩进的方法详解
2019/01/20 Python
python如何实现视频转代码视频
2019/06/17 Python
Django Celery异步任务队列的实现
2019/07/24 Python
Flask框架学习笔记之模板操作实例详解
2019/08/15 Python
Python ATM功能实现代码实例
2020/03/19 Python
Python常用编译器原理及特点解析
2020/03/23 Python
python3.7添加dlib模块的方法
2020/07/01 Python
opencv 阈值分割的具体使用
2020/07/08 Python
财务会计人员岗位职责
2013/11/30 职场文书
国际金融专业大学生职业生涯规划书
2013/12/28 职场文书
人事部专员岗位职责
2014/03/04 职场文书
学习交流会主持词
2014/04/01 职场文书
初三学生个人自我评定
2014/04/06 职场文书
“四风”问题的主要表现和危害思想汇报
2014/09/19 职场文书
个人求职自荐信范文
2015/03/06 职场文书
讲座新闻稿
2015/07/18 职场文书
丧事酒宴答谢词
2015/09/30 职场文书