中文字幕av专区_日韩电影在线播放_精品国产精品久久一区免费式_av在线免费观看网站

溫馨提示×

溫馨提示×

您好,登錄后才能下訂單哦!

密碼登錄×
登錄注冊×
其他方式登錄
點擊 登錄注冊 即表示同意《億速云用戶服務條款》

利用JavaScript制作一個炫酷的輪播圖

發布時間:2020-11-09 15:00:00 來源:億速云 閱讀:137 作者:Leah 欄目:開發技術

這篇文章運用簡單易懂的例子給大家介紹利用JavaScript制作一個炫酷的輪播圖,內容非常詳細,感興趣的小伙伴們可以參考借鑒,希望對大家能有所幫助。

<!DOCTYPE html>
<html lang="en">

<head>
  <meta charset="UTF-8">
  <meta name="viewport" content="width=device-width, initial-scale=1.0">
  <meta http-equiv="X-UA-Compatible" content="ie=edge">
  <title>面試必備輪播圖</title>
  <link rel="stylesheet" href="demo.css" rel="external nofollow" >
</head>

<body>
  <div class="wrapper" id="wrap">
    <img src="./images/1.png" alt="">
    <img src="./images/2.png" alt="">
    <img src="./images/3.png" alt="">
    <img src="./images/4.png" alt="">
    <img src="./images/5.png" alt="">
  </div>
  <script src="jquery.min.js"></script>
  <script src="index.js"></script>

</body>

</html>

JS代碼

var oImg = $('img');
// 默認中間展示索引值為0的這張圖片
var curDisplay = 0;
// 將圖片分散排列

// 獲得圖片個數
var len = oImg.length;

// 定時器
var timer;

function init() {
  initalCarousel();
  bindEvent();
}
init();

function initalCarousel() {
  // 獲得中間圖片
  console.log($('img'))
  var hLen = Math.floor(oImg.length / 2);
  // rNum,lNum分別是分散在中間圖片左右左右兩側的圖片索引
  var rNum, lNum;
  for (var i = 0; i < hLen; i++) {
    lNum = curDisplay - i - 1;
    // console.log(lNum)
    // 分別讓分散在左右兩側的圖片平移旋轉
    oImg.eq(lNum).css({
      transform: 'translateX(' + (-150 * (i + 1)) + 'px) translateZ(' + (200 - i * 100) + 'px) rotateY(30deg)'
    });
    rNum = curDisplay + i + 1;
    // 如果運動到最后一張 循環運動
    if (rNum > oImg.length - 1) {
      rNum -= oImg.length;
    }
    oImg.eq(rNum).css({
      transform: 'translateX(' + (150 * (i + 1)) + 'px) translateZ(' + (200 - i * 100) + 'px) rotateY(-30deg)'
    });
    oImg.removeClass('active');
  }

  // 當前顯示圖片直接z軸向前移動 同時添加class名作為標記
  
  oImg.eq(curDisplay).css({
    transform: 'translateZ(300px)'
  }).addClass('active');

}
// 點擊事件
function bindEvent() {
  // 在每一張圖片上綁定上點擊事件
  oImg.on('click', function (e) {
    // 判斷點擊圖片不是第一張顯示圖片 
    if (!$(this).hasClass('active')) {
      // 標記圖片flag切換
      // 改變當前顯示圖片索引
      curDisplay = $(this).index();
      initalCarousel();
    }
    // 鼠標覆蓋 清除自動輪播定時器
  }).hover(function () {
    clearInterval(timer);
    // 鼠標移走 繼續輪播
  }, function () {
    play();
  });
}
// 自動播放
function play() {
  timer = setInterval(function () {
    if (curDisplay == len - 1) {
      curDisplay = 0;
    } else {
      curDisplay++;
    }
    initalCarousel();
  }, 2000);
}

CSS樣式

*{
  margin:0;
  padding:0;
}
.wrapper{
  position: relative;
  transform-style: preserve-3d;
  perspective: 800px;
  /* border:1px solid black; */
  height:200px;
  margin-top:200px;
}
.wrapper img{
  position: absolute;
  left: 50%;
  top: 50%;
  width: 300px;
  height: 200px;
  margin-left: -150px;
  margin-top: -100px;
  border-radius: 8px;
  transition: transform 0.5s ease-in-out;
}

關于利用JavaScript制作一個炫酷的輪播圖就分享到這里了,希望以上內容可以對大家有一定的幫助,可以學到更多知識。如果覺得文章不錯,可以把它分享出去讓更多的人看到。

向AI問一下細節

免責聲明:本站發布的內容(圖片、視頻和文字)以原創、轉載和分享為主,文章觀點不代表本網站立場,如果涉及侵權請聯系站長郵箱:is@yisu.com進行舉報,并提供相關證據,一經查實,將立刻刪除涉嫌侵權內容。

AI

齐齐哈尔市| 朝阳县| 秭归县| 遵化市| 西昌市| 巴塘县| 富顺县| 汝城县| 石城县| 车险| 咸阳市| 遂宁市| 临颍县| 通许县| 民县| 文水县| 邢台市| 合江县| 保定市| 钟山县| 新竹市| 驻马店市| 丽江市| 金门县| 衡山县| 庄浪县| 平陆县| 安吉县| 广东省| 益阳市| 陆川县| 临澧县| 漯河市| 顺平县| 宁晋县| 鄂伦春自治旗| 罗定市| 孟州市| 丽水市| 修水县| 二连浩特市|