DIV CSS 佈局教程網

 DIV+CSS佈局教程網 >> 網頁腳本 >> JavaScript入門知識 >> jQuery入門知識 >> JQuery入門技巧 >> jQuery簡單自定義圖片輪播插件及用法示例
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程序設計有所幫助。

XML學習教程| jQuery入門知識| AJAX入門| Dreamweaver教程| Fireworks入門知識| SEO技巧| SEO優化集錦|
Copyright © DIV+CSS佈局教程網 All Rights Reserved