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

 更新时间:2016年11月21日 08:50:42   作者:栁罗风尘  
这篇文章主要介绍了jQuery简单自定义图片轮播插件及用法,结合实例形式分析了jQuery基于时间函数动态修改页面元素属性实现图片轮播功能的相关操作技巧,需要的朋友可以参考下

本文实例讲述了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常用插件及用法总结》、《jQuery扩展技巧总结》、《jQuery切换特效与技巧总结》、《jQuery遍历算法与技巧总结》、《jQuery常见经典特效汇总》、《jQuery动画与特效用法总结》及《jquery选择器用法总结

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

相关文章

  • 推荐9款炫酷的基于jquery的页面特效

    推荐9款炫酷的基于jquery的页面特效

    这里给大家推荐9款炫酷的基于jquery的页面特效,都是本站比较热门的效果,这里整理出来分享给大家,也方便小伙伴们对比查看
    2014-12-12
  • jQuery实现鼠标点击弹出渐变层的方法

    jQuery实现鼠标点击弹出渐变层的方法

    这篇文章主要介绍了jQuery实现鼠标点击弹出渐变层的方法,jQuery是当下最具人气的JavaScript库,需要的朋友可以参考下
    2015-07-07
  • Jquery Ajax请求代码(2)

    Jquery Ajax请求代码(2)

    总结了一下了一下$.getJSON()一些应用,希望大家喜欢,首先我用的的是 Newtonsoft.Json.Net20.dll
    2011-01-01
  • jquery连缀语法如何实现

    jquery连缀语法如何实现

    我想熟悉javascript的没有不知道jquery的吧,不得不提的就是特有的连缀书写语法了,jquery连缀语法如何实现,接下来将详细介绍
    2012-11-11
  • 简单分析javascript面向对象与原型

    简单分析javascript面向对象与原型

    为了说明 JavaScript 是一门彻底的面向对象的语言,首先有必要从面向对象的概念着手 , 探讨一下面向对象中的几个概念:1.一切事物皆对象,2.对象具有封装和继承特性,3.对象与对象之间使用消息通信,各自存在信息隐藏
    2015-05-05
  • 基于jQuery实现音乐播放试听列表

    基于jQuery实现音乐播放试听列表

    这篇文章主要介绍了基于jQuery实现音乐播放试听列表的相关资料,需要的朋友可以参考下
    2016-04-04
  • jQuery实现点击水纹波动动画

    jQuery实现点击水纹波动动画

    今天要为大家绍一款由jquery实现的鼠标单击出现水波特效。用鼠标点击页面,你可以看到页面不断出面水波纹效果。然后水波纹渐渐消失。效果非常不错
    2016-04-04
  • JQuery节点元素属性操作方法

    JQuery节点元素属性操作方法

    这篇文章主要介绍了JQuery节点元素属性操作方法,实例分析了attr与removeAttr方法操作节点元素属性的相关使用技巧,需要的朋友可以参考下
    2015-06-06
  • jquery 多行文本框(textarea)高度变化

    jquery 多行文本框(textarea)高度变化

    这篇文章介绍了多行文本框(textarea)高度变化的操作,有需要的朋友可以参考一下
    2013-07-07
  • jQuery 如何实现一个滑动按钮开关

    jQuery 如何实现一个滑动按钮开关

    本文给大家分享一段jquery代码实现滑动按钮开关的效果,代码简单易懂,非常不错,具有一定的参考借鉴价值,需要的的朋友参考下
    2016-12-12

最新评论