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 相关文章推荐
关于JS控制代码暂停的实现方法分享
Oct 11 Javascript
document.forms用法示例介绍
Jun 26 Javascript
jquery.validate.js插件使用经验记录
Jul 02 Javascript
js完美实现@提到好友特效(兼容各大浏览器)
Mar 16 Javascript
js面向对象之公有、私有、静态属性和方法详解
Apr 17 Javascript
Javascript实现颜色rgb与16进制转换的方法
Apr 18 Javascript
js+html5绘制图片到canvas的方法
Jun 05 Javascript
Node.js用readline模块实现输入输出
Dec 16 Javascript
vue+iview写个弹框的示例代码
Dec 05 Javascript
JS实现的A*寻路算法详解
Dec 14 Javascript
详解vue更改头像功能实现
Apr 28 Javascript
Vue 实现CLI 3.0 + momentjs + lodash打包时优化
Nov 13 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
PHP实现简单搜歌的方法
2015/07/28 PHP
PHP判断json格式是否正确的实现代码
2017/09/20 PHP
深入理解PHP中mt_rand()随机数的安全
2017/10/12 PHP
PHP对称加密算法(DES/AES)类的实现代码
2017/11/14 PHP
JavaScript Event学习第五章 高级事件注册模型
2010/02/07 Javascript
JS中判断JSON数据是否存在某字段的方法
2014/03/07 Javascript
JavaScript的各种常见函数定义方法
2014/09/16 Javascript
a标签的href与onclick事件的区别详解
2014/11/12 Javascript
理解javascript中的原型和原型链
2015/07/30 Javascript
js实现按钮控制带有停顿效果的图片滚动
2016/08/30 Javascript
关于webuploader插件使用过程遇到的小问题
2016/11/07 Javascript
微信小程序开发(一) 微信登录流程详解
2017/01/11 Javascript
jQuery插件zTree实现删除树节点的方法示例
2017/03/08 Javascript
JS常见创建类的方法小结【工厂方式,构造器方式,原型方式,联合方式等】
2017/04/01 Javascript
Webpack执行命令参数详解
2017/06/17 Javascript
ReactNative短信验证码倒计时控件的实现代码
2017/07/20 Javascript
JS实现将对象转化为数组的方法分析
2019/01/21 Javascript
[53:21]2014 DOTA2国际邀请赛中国区预选赛5.21 DT VS LGD-CDEC
2014/05/22 DOTA
python获取豆瓣电影简介代码分享
2014/01/16 Python
采用Psyco实现python执行速度提高到与编译语言一样的水平
2014/10/11 Python
以一段代码为实例快速入门Python2.7
2015/03/31 Python
编写简单的Python程序来判断文本的语种
2015/04/07 Python
python处理“
2019/06/10 Python
python字符串格式化方式解析
2019/10/19 Python
django 利用Q对象与F对象进行查询的实现
2020/05/15 Python
浅谈numpy中函数resize与reshape,ravel与flatten的区别
2020/06/18 Python
H5 meta小结(前端必看篇)
2016/08/24 HTML / CSS
自动化职业生涯规划书范文
2014/01/03 职场文书
污水厂厂长岗位职责
2014/01/04 职场文书
党员承诺书怎么写
2014/05/20 职场文书
三严三实学习心得体会
2014/10/13 职场文书
市委召开党的群众路线教育实践活动总结大会报告
2014/10/21 职场文书
法定代表人证明书
2014/11/28 职场文书
《彼得与狼》教学反思
2016/02/20 职场文书
mysql实现将字符串字段转为数字排序或比大小
2022/06/14 MySQL
详解CSS3浏览器兼容
2022/12/24 HTML / CSS