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


Posted in Javascript onSeptember 11, 2016

效果图

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>

以上就是这篇文章的全部内容,怎么样?效果很好吧,感兴趣的朋友们自己运行看看效果,希望这篇文章对大家能有一定的帮助。

Javascript 相关文章推荐
用js实现的检测浏览器和系统的函数
Apr 09 Javascript
一个简单的js树形菜单
Dec 09 Javascript
javascript学习笔记(十三) js闭包介绍(转)
Jun 20 Javascript
推荐 21 款优秀的高性能 Node.js 开发框架
Aug 18 Javascript
js获取checkbox复选框选中的选项实例
Aug 24 Javascript
jQuery插件datalist实现很好看的input下拉列表
Jul 14 Javascript
谈谈第三方App接入微信登录 解读
Dec 27 Javascript
如何使用pm2快速将项目部署到远程服务器
Mar 12 Javascript
微信小程序自定义组件传值 页面和组件相互传数据操作示例
May 05 Javascript
layui的布局和表格的渲染以及动态生成表格的方法
Sep 18 Javascript
javascript实现点亮灯泡特效示例
Oct 15 Javascript
js 计数排序的实现示例(升级版)
Jan 12 Javascript
最全面的百度地图JavaScript离线版开发
Sep 10 #Javascript
简单分析javascript中的函数
Sep 10 #Javascript
javascript数组常用方法汇总
Sep 10 #Javascript
JavaScript实现输入框与清空按钮联动效果
Sep 09 #Javascript
Three.js快速入门教程
Sep 09 #Javascript
jQuery动态修改字体大小的方法【测试可用】
Sep 09 #Javascript
Bootstrap菜单按钮及导航实例解析
Sep 09 #Javascript
You might like
PHP实现模仿socket请求返回页面的方法
2014/11/04 PHP
php基于jquery的ajax技术传递json数据简单实例
2016/04/15 PHP
Yii2使用$this-&gt;context获取当前的Module、Controller(控制器)、Action等
2017/03/29 PHP
ThinkPHP5.0多个文件上传后找不到临时文件的修改方法
2018/07/30 PHP
laravel使用Faker数据填充的实现方法
2019/04/12 PHP
用nodejs访问ActiveX对象,以操作Access数据库为例。
2011/12/15 NodeJs
HTML长文本截取含有HTML代码同样适用的两种方法
2013/07/31 Javascript
uploadify在Firefox下丢失session问题的解决方法
2013/08/07 Javascript
带有定位当前位置的百度地图前端web api实例代码
2016/06/21 Javascript
基于JavaScript实现单选框下拉菜单添加文件效果
2016/06/26 Javascript
nodejs实例解析(输出hello world)
2017/01/03 NodeJs
js上下视差滚动简单实现代码
2017/03/07 Javascript
label+input实现按钮开关切换效果的实例
2017/08/16 Javascript
jQuery实现动态显示select下拉列表数据的方法
2018/02/05 jQuery
Angular4.x通过路由守卫进行路由重定向实现根据条件跳转到相应的页面(推荐)
2018/05/10 Javascript
详解小程序原生使用ES7 async/await语法
2018/08/06 Javascript
Vue.js子组件向父组件通信的方法实例代码详解
2018/12/10 Javascript
Node.js Windows Binary二进制文件安装方法
2019/05/16 Javascript
Vue中使用matomo进行访问流量统计的实现
2019/11/05 Javascript
vue v-model的用法解析
2020/10/19 Javascript
python中getattr函数使用方法 getattr实现工厂模式
2014/01/20 Python
进一步了解Python中的XML 工具
2015/04/13 Python
python如何获取服务器硬件信息
2017/05/11 Python
老生常谈Python序列化和反序列化
2017/06/28 Python
Python中的pygal安装和绘制直方图代码分享
2017/12/08 Python
解决Python中pandas读取*.csv文件出现编码问题
2019/07/12 Python
Python中的__init__作用是什么
2020/06/09 Python
html5中canvas图表实现柱状图的示例
2017/11/13 HTML / CSS
英国家喻户晓的家居商店:The Range
2019/03/25 全球购物
医院办公室主任职责
2013/12/29 职场文书
寒假实习自荐信
2014/01/26 职场文书
高一新生军训方案
2014/05/12 职场文书
责任胜于能力演讲稿
2014/05/20 职场文书
2014年中班下学期工作总结
2014/12/11 职场文书
python基础学习之递归函数知识总结
2021/05/26 Python
浅谈MySQL之select优化方案
2021/08/07 MySQL