1. 程式人生 > 程式設計 >jQuery呼吸輪播圖製作原理詳解

jQuery呼吸輪播圖製作原理詳解

本文例項為大家分享了呼吸輪播圖製作原理的具體過程,供大家參考,具體內容如下

輪播圖:carousel
呼吸輪播圖變種佈局重點:所有的圖片摞一起。
jquery選擇元素的能力非常好,但是我們習慣將用到的元素,提前儲存到變數。通常我們使用id選中元素。一般我們以$box。
左右按鈕防流氓的策略:當圖片運動時,不進行任何操作。is()
小圓點的防流氓的策略:立即響應新事件。stop(true)

注意:使用程式碼時將圖片更換,以及需要引入jquery庫。

舉例:

<!DOCTYPE html>
<html lang="en">
<head>
 <meta charset="UTF-8">
 <title>Document</title>
 <style type="text/">
  * {
   margin: 0;
   padding: 0;
  }
  ul,ol {
   list-style: none;
  }
  #carousel {
   position: relative;
   width: 900px;
   height: 540px;
   border: 1px solid #000;
   margin: 50px auto;
  }
  /*呼吸輪播圖佈局關鍵是所有圖片落在一起*/
  #carousel .imgs ul li {
   position: absolute;
   width: 100%;
   height: 100%;
   left: 0;
   top: 0;
   display: none;
  }
  #carousel .imgs ul li:first-child {
   display: block;
  }
  .bt
ns a { position: absolute; width: 30px; height: 60px; top: 50%; margin-top: -30px; text-decoration: none; background-color: rgba(0,.5); line-height: 60px; text-align: center; font-size: 20px; color: #fff; } .btns a:first-child { left: 10px; } .btns a:last-child { right: 10px; } #carousel .circles { position: absolute; width: 200px; height: 20px; left: 50%; margin-left: -100px; bottom: 30px; } #carousel .circles ol { width: 210px; } #carousel .circles ol li { float: left; width: 20px; height: 20px; margin-right: 10px; background-color: blue; line-height: 20px; text-align: center; bwww.cppcns.com
order-radius: 20px; } #carousel .circles ol li.cur { background-color: orange; } </style> </head>http://www.cppcns.com; <body> <div id="carousel"> <div class="imgs" id="imgs"> <ul> <li><img src="images/aoyun/0.jpg" alt="jQuery呼吸輪播圖製作原理詳解"></li> <li><img src="images/aoyun/1.jpg" alt="jQuery呼吸輪播圖製作原理詳解"></li> <li><img src="images/aoyun/2.jpg" alt="jQuery呼吸輪播圖製作原理詳解"></li> <li><img src="images/aoyun/3.jpg" alt="jQuery呼吸輪播圖製作原理詳解"></li> <li><img src="images/aoyun/4.jpg" alt="jQuery呼吸輪播圖製作原理詳解"></li> <li><img src="images/aoyun/5.jpg" alt="jQuery呼吸輪播圖製作原理詳解"></li> <li><img src="images/aoyun/6.jpg" alt="jQuery呼吸輪播圖製作原理詳解"></li> </ul> </div> <div class="btns"> <a href="#" id="leftBtn">&lt;</a> <a href="#" id="rightBtn">&gt;</a> </div> <div class="circles" id="circles"> <ol> <li class="cur">1</li> <li>2</li> <li>3</li> <li>4</li> <li>5</li> <li>6</li> <li>7</li> </ol> </div> </div> <script type="text/" src="/jquery-1.12.3.min.js"></script> <script type="text/script"> // 獲取元素 var $leftBtn = $("#leftBtn"); var $rightBtn = $("#rightBtn"); var $imgs = $("#imgs ul li"); var $circles = $("#circles ol li"); var $caroushttp://www.cppcns.com
el = $("#carousel"); // 定義length var length = $imgs.length; // 定義訊號量 var idx = 0; // 開啟定時器 var timer = setInterval(change,2000); // 滑鼠移入停止定時器 $carousel.mouseenter(function() { // 清除定時器 clearInterval(timer); }) // 滑鼠離開從新開啟定時器 $carousel.mouseleave(function() { // 設表先關 clearInterval(timer); // 重新賦值timer timer = setInterval(change,2000); }) // 右按鈕事件 $rightBtn.click(change); function change() { // 防流氓 if ($imgs.is(":animated")) { return; } // 當前圖片消失 $imgs.eq(idx).fadeOut(600); // 訊號量改變 idx++; // 邊界判定 if (idx > length - 1) { idx = 0; } // 下一張圖片淡入 $imgs.eq(idx).fadeIn(600); // 當前小圓點要加cur $circles.eq(idx).addClass("cur").siblings().removeClass("cur"); } // 左按鈕事件 $leftBtn.click(function() { // 防流氓 if (!$imgs.is(":animated")) { // 當前圖片消失 $imgs.eq(idx).fadeOut(600); // 訊號量改變 idx--; // 邊界判定 if (idx < 0) { idx = length - 1; } // 下一張圖片淡入 $imgs.eq(idx).fadeIn(600); // 當前小圓點加cur $circles.eq(idx).addClass("cur").siblings().removeClass("cur"); } }) // 小圓點事件 $circles.mouseenter(function() { // 當前圖片消失 $imgs.eq(idx).stop(true).fadeOut(600); // 改變訊號量 idx = $(this).index(); // 下一張圖片出現 $imgs.eq(idx).stop(true).fadeIn(600); // 當前小圓點加cur $(this).addClass("cur").siblings().removeClass("cur"); }) </script> </body> </html>

以上就是本文的全部內容,希望對大家的學習有所幫助,也希望大家多多支援我們。