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 相关文章推荐
Dreamweaver jQuery智能提示插件,支持版本提示,支持1.6api
Jul 31 Javascript
基于jQuery的360图片展示实现代码
Jun 14 Javascript
JS图片预加载 JS实现图片预加载应用
Dec 03 Javascript
js动态控制table的tr、td增加及删除的具体实现
Apr 30 Javascript
js调试工具Console命令详解
Oct 21 Javascript
深入分析js的冒泡事件
Dec 05 Javascript
javascript 将共享属性迁移到原型中去的实现方法
Aug 31 Javascript
jQuery实现发送验证码并60秒倒计时功能
Nov 25 Javascript
vue的一个分页组件的示例代码
Dec 25 Javascript
一个基于react的图片裁剪组件示例
Apr 18 Javascript
JS左右无缝轮播功能完整实例
May 16 Javascript
利用js-cookie实现前端设置缓存数据定时失效
Jun 18 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
laravel安装和配置教程
2014/10/29 PHP
php单例模式示例分享
2015/02/12 PHP
PHP实现批量修改文件后缀名的方法
2015/07/30 PHP
PHP实现冒泡排序的简单实例
2016/05/26 PHP
用Javascript数组处理多个字符串的连接问题
2009/08/20 Javascript
同域jQuery(跨)iframe操作DOM(示例代码)
2013/12/13 Javascript
javascritp添加url参数将参数加入到url中
2014/09/25 Javascript
JavaScript在Android的WebView中parseInt函数转换不正确问题解决方法
2015/04/25 Javascript
JS组件Bootstrap实现下拉菜单效果代码
2016/04/26 Javascript
jQuery ajax全局函数处理session过期后的ajax跳转问题
2016/06/03 Javascript
获取jqGrid中选择的行的数据
2016/11/30 Javascript
微信小程序实战之顶部导航栏(选项卡)(1)
2020/06/19 Javascript
nodeJS(express4.x)+vue(vue-cli)构建前后端分离实例(带跨域)
2017/07/05 NodeJs
Node.js上传文件功能之服务端如何获取文件上传进度
2018/02/05 Javascript
如何用input标签和jquery实现多图片的上传和回显功能
2018/05/16 jQuery
Vue中使用sass实现换肤功能
2018/09/07 Javascript
使用webpack构建应用的方法步骤
2019/03/04 Javascript
WebGL学习教程之Three.js学习笔记(第一篇)
2019/04/25 Javascript
vue中利用simplemde实现markdown编辑器(增加图片上传功能)
2019/04/29 Javascript
Js on及addEventListener原理用法区别解析
2020/07/11 Javascript
解决echarts数据二次渲染不成功的问题
2020/07/20 Javascript
pandas的唯一值、值计数以及成员资格的示例
2018/07/25 Python
python之super的使用小结
2018/08/13 Python
Python求两个圆的交点坐标或三个圆的交点坐标方法
2018/11/07 Python
PyCharm的设置方法和第一个Python程序的建立
2019/01/16 Python
python3实现斐波那契数列(4种方法)
2019/07/15 Python
使用virtualenv创建Python环境及PyQT5环境配置的方法
2019/09/10 Python
Python 切分数组实例解析
2019/11/07 Python
python实现局域网内实时通信代码
2019/12/22 Python
Python中用pyinstaller打包时的图标问题及解决方法
2020/02/17 Python
从零实现一个自定义html5播放器的示例代码
2017/08/01 HTML / CSS
Marlies Dekkers内衣荷兰官方网店:荷兰奢侈内衣品牌
2020/03/27 全球购物
2014年小学重阳节活动策划方案
2014/09/16 职场文书
法定代表人授权委托书格式
2014/10/14 职场文书
2014年学校总务处工作总结
2014/12/08 职场文书
2019大学生暑期实习心得总结
2019/08/21 职场文书