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 相关文章推荐
推荐20家国外的脚本下载网站
Apr 28 Javascript
js中的时间转换—毫秒转换成日期时间的示例代码
Jan 26 Javascript
js、jquery图片动画、动态切换示例代码
Jun 03 Javascript
javascript中eval函数用法分析
Apr 25 Javascript
JQuery遍历DOM节点的方法
Jun 11 Javascript
js控制div层的叠加简单方法
Oct 15 Javascript
es6的数字处理的方法(5个)
Mar 16 Javascript
详解AngularJs路由之Ui-router-resolve(预加载)
Jun 13 Javascript
Vue 项目部署到服务器的问题解决方法
Dec 05 Javascript
利用Electron简单撸一个Markdown编辑器的方法
Jun 10 Javascript
jQuery实现动态加载瀑布流
Sep 01 jQuery
js实现星星海特效的示例
Sep 28 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简单判断字符串是否包含另一个字符串的方法
2016/03/25 PHP
PHP 接入微信扫码支付总结(总结篇)
2016/11/03 PHP
javascript数组使用调用方法汇总
2007/12/08 Javascript
jquery.autocomplete修改实现键盘上下键自动填充示例
2013/11/19 Javascript
javascript写的一个模拟阅读小说的程序
2014/04/04 Javascript
js实现文本框宽度自适应文本宽度的方法
2015/08/13 Javascript
js跨域资源共享 基础篇
2016/07/02 Javascript
手机端 HTML5使用photoswipe.js仿微信朋友圈图片放大效果
2016/08/25 Javascript
JavaScript高仿支付宝倒计时页面及代码实现
2016/10/21 Javascript
Vuex之理解Getters的用法实例
2017/04/19 Javascript
微信小程序日期时间选择器使用方法
2018/02/01 Javascript
浅析node应用的timing-attack安全漏洞
2018/02/28 Javascript
JavaScript引用类型Date常见用法实例分析
2018/08/08 Javascript
vue form 表单提交后刷新页面的方法
2018/09/04 Javascript
JS实现根据数组对象的某一属性排序操作示例
2019/01/14 Javascript
详解Vue依赖收集引发的问题
2019/04/22 Javascript
如何基于js判断浏览器版本
2020/02/20 Javascript
[47:43]Alliance vs KG 2019国际邀请赛小组赛 BO2 第一场 8.16
2019/08/18 DOTA
python urllib爬取百度云连接的实例代码
2017/06/19 Python
Python操作MongoDB数据库的方法示例
2018/01/04 Python
Pandas 数据框增、删、改、查、去重、抽样基本操作方法
2018/04/12 Python
Python3.6通过自带的urllib通过get或post方法请求url的实例
2018/05/10 Python
python寻找list中最大值、最小值并返回其所在位置的方法
2018/06/27 Python
在dataframe两列日期相减并且得到具体的月数实例
2018/07/03 Python
python pandas生成时间列表
2019/06/29 Python
Python实现的爬取豆瓣电影信息功能案例
2019/09/15 Python
python3 assert 断言的使用详解 (区别于python2)
2019/11/27 Python
pyecharts动态轨迹图的实现示例
2020/04/17 Python
CSS3动画:5种预载动画效果实例
2017/04/05 HTML / CSS
艺术用品:Arteza
2018/11/25 全球购物
添柏岚英国官方网站:Timberland英国
2019/11/28 全球购物
人力资源管理专业自荐信
2014/06/24 职场文书
法制宣传标语集锦
2014/06/25 职场文书
学雷锋宣传标语
2014/06/25 职场文书
如何用threejs实现实时多边形折射
2021/05/07 Javascript
MySQL中优化SQL语句的方法(show status、explain分析服务器状态信息)
2022/04/09 MySQL