JS实现六边形3D拖拽翻转效果的方法

作者:daisy 时间:2023-08-28 15:51:31 

效果图

JS实现六边形3D拖拽翻转效果的方法

JS实现六边形3D拖拽翻转效果的方法

实例代码如下:


<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
<html xmlns="http://www.w3.org/1999/xhtml">
<head>
<meta http-equiv="Content-Type" content="text/html; charset=utf-8" />
<title>javascript六边形3d拖拽翻转效果</title>
</head>
   <style>
     #box{width:200px;height:200px;margin: 200px auto; background: #ccc; position: relative;
     transform:perspective(800px) rotateY(-60deg) rotateX(45deg);transform-style:preserve-3d;}
     #box div{width:100%;height: 100%; position: absolute;top:0;left:0; background-size: cover;-webkit-box-shadow:0 0 100px #5fbcff; opacity: 0.8;}
     .front{ transform: translateZ(100px); background:#f00;}
     .back{transform: translateZ(-100px); background:#20ab4f;}
     .top{transform:translateY(-100px) rotateX(90deg); background: #ff7800;}
     .bottom{transform:translateY(100px) rotateX(-90deg); background: #00f6ff;}
     .left{transform:translateX(-100px) rotateY(90deg); background: #0084ff;}
     .right{transform:translateX(100px) rotateY(-90deg); background: #b400ff;}
   </style>
   <script>
     window.onload=function(){
       var oDiv=document.querySelector("#box");
       var y=-60;
       var x=45;
       oDiv.onmousedown=function(ev){
         var ev=ev||event;
         var disX=ev.clientX-y;
         var disY=ev.clientY-x;
         document.onmousemove=function(ev){
           var ev=ev||event;
           y=ev.clientY-disY;
           x=ev.clientX-disX;
           oDiv.style.transform='perspective(800px) rotateX('+x+'deg) rotateY('+y+'deg)';

}
         document.onmouseup=function(){
           document.onmouseup=null;
           document.onmousemove=null;
           oDiv.releaseCapture&&oDiv.releaseCapture();
         }
         oDiv.setCapture&&oDiv.setCapture()
         return false;
       }

}
   </script>
 </head>
 <body>
   <div id="box">
     <div class="front"></div>
     <div class="back"></div>
     <div class="top"></div>
     <div class="bottom"></div>
     <div class="left"></div>
     <div class="right"></div>
   </div>
 </body>
</html>
标签:js,3d,翻转,拖拽
0
投稿

猜你喜欢

  • mysql 开发技巧之JOIN 更新和数据查重/去重

    2024-01-17 06:30:54
  • 图文详解mysql中with...as用法

    2024-01-27 20:52:43
  • PHP实现的登录,注册及密码修改功能分析

    2023-11-14 21:45:29
  • oracle增加表空间大小两种实现方法

    2024-01-15 14:34:12
  • tensorflow可视化Keras框架中Tensorboard使用示例

    2023-08-09 01:39:27
  • Pandas:DataFrame对象的基础操作方法

    2023-07-20 16:13:19
  • python实现发送和获取手机短信验证码

    2023-08-09 08:02:26
  • 树莓派用python中的OpenCV输出USB摄像头画面

    2023-11-04 12:12:49
  • 原生js仿浏览器滚动条效果

    2024-04-10 16:09:33
  • Go 语言入门之net/url 包

    2024-05-29 22:06:33
  • vue-quill-editor插入图片路径太长问题解决方法

    2024-05-29 22:46:29
  • 19个ASP编程基础典型代码

    2008-10-23 15:46:00
  • 基于Python实现语音合成小工具

    2023-01-13 15:25:38
  • 如何实现对整个站点所有页面的操作?

    2010-05-19 21:20:00
  • 利用OBJECT_DEFINITION函数来代码存档

    2009-01-20 15:34:00
  • django 实现简单的插入视频

    2023-12-24 09:59:33
  • 如何把python项目部署到linux服务器

    2023-10-02 14:27:22
  • Innodb表select查询顺序

    2024-01-16 03:32:40
  • 浏览器针对单服务器连接数问题

    2008-05-12 22:27:00
  • 详解MySQL中的分组查询与连接查询语句

    2024-01-17 16:32:19
  • asp之家 网络编程 m.aspxhome.com