幻灯片/轮播

3D立方体图片画廊特效

阿里云


这是一款 js 和 CSS3 3D 立方体图片画廊特效。该 3D 立方体图片画廊特效通过 CSS3 进行布局,构建立方体,然后通过简单的 js 代码来完成点击缩略图进行立方体旋转的操作。由于该该 3D 立方体图片画廊特效中使用了 CSS 变量和 CSS grid,所以不是所以浏览器都支持该特效。

使用方法

在页面中引入样式文件 style.css。

也想出现在这里?联系我们
创客主机
  1. <link href="css/style.css" rel="stylesheet">

HTML 结构

该 3D 立方体图片画廊特效的 HTML 结构如下:

  1. <!--立方体图片画廊-->
  2. <div class="cube-container">
  3.  
  4.   <div class="cube initial-position">
  5.  
  6.     <img class="cube-face-image image-1" src="img/1.jpg">
  7.  
  8.     <img class="cube-face-image image-2" src="img/2.jpg">
  9.  
  10.     <img class="cube-face-image image-3" src="img/3.jpg">
  11.  
  12.     <img class="cube-face-image image-4" src="img/4.jpg">
  13.  
  14.     <img class="cube-face-image image-5" src="img/5.jpg">
  15.  
  16.     <img class="cube-face-image image-6" src="img/6.jpg">
  17.  
  18.   </div>
  19.  
  20. </div>
  21. <!-- 缩略图 -->
  22. <div class="image-buttons">
  23.  
  24.   <input type="image" class="show-image-1" src="img/1.jpg"></input>
  25.  
  26.   <input type="image" class="show-image-2" src="img/2.jpg"></input>
  27.  
  28.   <input type="image" class="show-image-3" src="img/3.jpg"></input>
  29.  
  30.   <input type="image" class="show-image-4" src="img/4.jpg"></input>
  31.  
  32.   <input type="image" class="show-image-5" src="img/5.jpg"></input>
  33.  
  34.   <input type="image" class="show-image-6" src="img/6.jpg"></input>
  35.  
  36. </div>

Javascript

然后在页面加载完毕之后,通过下面的 js 代码来完成点击缩略图旋转立方体的功能。

  1. window.addEventListener("DOMContentLoaded", function () {
  2.  
  3.       var cube = document.querySelector(".cube"),
  4.           imageButtons = document.querySelector(".image-buttons");
  5.           var cubeImageClass = cube.classList[1];
  6.  
  7.           //Add click event listener to image buttons container
  8.           imageButtons.addEventListener("click", function (e) {
  9.  
  10.             //Get node type and class value of clicked element
  11.             var targetNode = e.target.nodeName,
  12.                 targetClass = e.target.className;
  13.  
  14.             //Check if image input has been clicked and isn't the currently shown image
  15.             if (targetNode === "INPUT" && targetClass !== cubeImageClass) {
  16.  
  17.               console.log("Show Image: " + targetClass.charAt(11));
  18.  
  19.               //Replace previous cube image class with new class
  20.               cube.classList.remove(cubeImageClass);
  21.               cube.classList.add(targetClass);
  22.  
  23.               //Update cube image class variable with new class
  24.               cubeImageClass = targetClass;
  25.             }
  26.           });
  27. });

Codepen 地址:https://codepen.io/GeorgePark/pen/gegavO

3D 立方体图片画廊特效

已有 553 人购买
查看演示升级 VIP立刻购买

演示地址 下载地址
收藏
(0)

发表回复

热销模板

Ashade - 作品展示摄影相册WordPress汉化主题
LensNews

本站承接 WordPress / PbootCMS / DedeCMS 等
系统建站、仿站、开发、定制等业务!