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实现分享到随页面滚动而滑动效果的方法
Apr 10 Javascript
div实现自适应高度的textarea实现angular双向绑定
Jan 08 Javascript
bootstrap侧边栏圆点导航
Jan 11 Javascript
Vuex之理解Mutations的用法实例
Apr 19 Javascript
Angular.js指令学习中一些重要属性的用法教程
May 24 Javascript
如何使node也支持从url加载一个module详解
Jun 05 Javascript
vue 登录滑动验证实现代码
Aug 24 Javascript
详解vue路由篇(动态路由、路由嵌套)
Jan 27 Javascript
详解element-ui日期时间选择器的日期格式化问题
Apr 08 Javascript
解决vue-cli webpack打包开启Gzip 报错问题
Jul 24 Javascript
Vue之封装公用变量以及实现方式
Jul 31 Javascript
ant design 日期格式化的实现
Oct 27 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
Smarty结合Ajax实现无刷新留言本实例
2007/01/02 PHP
去掉destoon资讯内容页keywords关键字自带的文章标题的方法
2014/08/21 PHP
PHP计算数组中值的和与乘积的方法(array_sum与array_product函数)
2016/04/01 PHP
php实现当前页面点击下载文件的实例代码
2016/11/16 PHP
YII框架行为behaviors用法示例
2019/04/26 PHP
一个挺有意思的Javascript小问题说明
2011/09/26 Javascript
javascript中动态加载js文件多种解决办法总结
2013/11/15 Javascript
javascript判断是手机还是电脑访问网页的简单实例分享
2014/06/03 Javascript
使用javascript实现json数据以csv格式下载
2015/01/09 Javascript
Javascript页面跳转常见实现方式汇总
2015/11/28 Javascript
基于javascript实现彩票随机数生成(简单版)
2020/04/17 Javascript
animate 实现滑动切换效果【实例代码】
2016/05/05 Javascript
详解vue父子组件间传值(props)
2017/06/29 Javascript
weui框架实现上传、预览和删除图片功能代码
2017/08/24 Javascript
vue2.0的虚拟DOM渲染思路分析
2018/08/09 Javascript
JS异步执行结果获取的3种解决方式
2019/02/19 Javascript
JS如何判断对象是否包含某个属性
2020/08/29 Javascript
python PIL模块与随机生成中文验证码
2016/02/27 Python
django实现用户登陆功能详解
2017/12/11 Python
Python实现的简单读写csv文件操作示例
2018/07/12 Python
利用python求积分的实例
2019/07/03 Python
python中@property和property函数常见使用方法示例
2019/10/21 Python
Django 解决上传文件时,request.FILES为空的问题
2020/05/20 Python
CSS3教程(1):什么是CSS3
2009/04/02 HTML / CSS
移动端html5判断是否滚动到底部并且下拉加载
2019/11/19 HTML / CSS
戴森比利时官方网站:Dyson BE
2020/10/03 全球购物
纬创Java面试题笔试题
2014/10/02 面试题
EJB包括(SessionBean,EntityBean)说出他们的生命周期,及如何管理事务的
2015/07/24 面试题
介绍一下Java的事务处理
2012/12/07 面试题
建筑工程自我鉴定
2013/10/18 职场文书
工程部主管岗位职责
2013/11/17 职场文书
五型班组建设方案
2014/02/10 职场文书
幼儿园教师教育感言
2014/02/28 职场文书
2016党校学习心得体会范文
2016/01/07 职场文书
受欢迎的自荐信,就这么写!
2019/04/19 职场文书
2021年国漫热度排行前十,完美世界上榜,第四是美国动画作品
2022/03/18 国漫