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 相关文章推荐
判断浏览器的javascript版本的代码
Sep 03 Javascript
JQuery之拖拽插件实现代码
Apr 14 Javascript
javascript完美拖拽的实现方法
Sep 29 Javascript
Javascript中的delete操作符详细介绍
Jun 06 Javascript
js使用onmousemove和onmouseout获取鼠标坐标的方法
Mar 31 Javascript
JavaScript中实现Map的示例代码
Sep 09 Javascript
bootstrap动态调用select下拉框的实例代码
Aug 09 Javascript
利用layer实现表单完美验证的方法
Sep 26 Javascript
js生成1到100的随机数最简单的实现方法
Feb 07 Javascript
JavaScript设计模式--简单工厂模式实例分析【XHR工厂案例】
May 23 Javascript
浅谈Vue 函数式组件的使用技巧
Jun 16 Javascript
Vue vee-validate插件的简单使用
Jun 22 Vue.js
最全面的百度地图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
一些花式咖啡的配方
2021/03/03 冲泡冲煮
PHP 遍历XP文件夹下所有文件
2008/11/27 PHP
分享一个PHP数据流应用的简单例子
2012/06/01 PHP
PHP循环结构实例讲解
2014/02/10 PHP
yii2 modal弹窗之ActiveForm ajax表单异步验证
2016/06/13 PHP
PHP curl批处理及多请求并发实现方法分析
2018/08/15 PHP
PJBlog插件 防刷新的在线播放器
2006/10/25 Javascript
javascript读取xml
2006/11/04 Javascript
jQuery Tools tab使用介绍
2012/07/14 Javascript
js函数获取html中className所在的内容并去除标签
2013/09/08 Javascript
JavaScript实现弹出DIV层同时页面背景渐变成半透明效果
2016/03/25 Javascript
全面理解JavaScript中的闭包
2016/05/12 Javascript
分享javascript实现的冒泡排序代码并优化
2016/06/05 Javascript
javascript作用域、作用域链(菜鸟必看)
2016/06/16 Javascript
AngularJS基础 ng-show 指令简单示例
2016/08/03 Javascript
谈谈JavaScript中的几种借用方法
2016/08/09 Javascript
js弹出窗口简单实现代码
2017/03/22 Javascript
vue中element组件样式修改无效的解决方法
2018/02/03 Javascript
详解Vue 匿名、具名和作用域插槽的使用方法
2019/04/22 Javascript
浅谈layer弹出层按钮颜色修改方法
2019/09/11 Javascript
微信小程序调用wx.getImageInfo遇到的坑解决
2020/05/31 Javascript
vue大型项目之分模块运行/打包的实现
2020/09/21 Javascript
python利用Guetzli批量压缩图片
2017/03/23 Python
Python使用win32 COM实现Excel的写入与保存功能示例
2018/05/03 Python
使用python批量化音乐文件格式转换的实例
2019/01/09 Python
Django Form and ModelForm的区别与使用
2019/12/06 Python
Django User 模块之 AbstractUser 扩展详解
2020/03/11 Python
Python+Selenium实现自动化的环境搭建的步骤(图文)
2020/09/01 Python
纯css3实现的鼠标悬停动画按钮
2014/12/23 HTML / CSS
美国二手奢侈品寄售网站:TheRealReal
2016/10/29 全球购物
C语言面试题
2015/10/30 面试题
生物制药专业自我鉴定
2014/02/19 职场文书
毕业生就业推荐表自我评价
2015/03/02 职场文书
2015年团队工作总结范文
2015/05/04 职场文书
golang 如何通过反射创建新对象
2021/04/28 Golang
KVM基础命令详解
2022/04/30 Servers