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 硬盘序列号+其它硬件信息
Dec 23 Javascript
jQuery表单美化插件jqTransform使用详解
Apr 12 Javascript
HTML5使用DeviceOrientation实现摇一摇功能
Jun 05 Javascript
jquery——九宫格大转盘抽奖实例
Jan 16 Javascript
js实现简单的手风琴效果
Feb 27 Javascript
Three.js利用性能插件stats实现性能监听的方法
Sep 25 Javascript
js实现图片粘贴上传到服务器并展示的实例
Nov 08 Javascript
微信小程序swiper禁止用户手动滑动代码实例
Aug 23 Javascript
Vue利用Blob下载原生二进制数组文件
Sep 25 Javascript
layui 上传图片 返回图片地址的方法
Sep 26 Javascript
JavaScript或jQuery 获取option value值方法解析
May 12 jQuery
国内常用的js类库大全(CDN公共库)
Jun 24 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
为什么那些咖啡爱好者大多看不上连锁咖啡店?
2021/03/06 咖啡文化
php采集时被封ip的解决方法
2010/08/29 PHP
PHP获取windows登录用户名的方法
2014/06/24 PHP
Zend Framework自定义Helper类相关注意事项总结
2016/03/14 PHP
thinkPHP实现MemCache分布式缓存功能
2016/03/23 PHP
2017年最新PHP经典面试题目汇总(上篇)
2017/03/17 PHP
一个简单的javascript类定义例子
2009/09/12 Javascript
javascript 闭包
2011/09/15 Javascript
纯js网页画板(Graphics)类简介及实现代码
2012/12/24 Javascript
js实现div的切换特效上一个下一个
2014/02/11 Javascript
jQuery封装的tab选项卡插件分享
2015/06/16 Javascript
Jquery检验手机号是否符合规则并根据手机号检测结果将提交按钮设为不同状态
2015/11/26 Javascript
教你如何终止JQUERY的$.AJAX请求
2016/02/23 Javascript
js本地图片预览实现代码
2016/10/09 Javascript
jQuery实现最简单实用的分秒倒计时
2017/02/05 Javascript
nodejs和C语言插入mysql数据库乱码问题的解决方法
2017/04/14 NodeJs
jQuery自动或手动图片切换效果
2017/10/11 jQuery
JavaScript学习笔记之DOM基础操作实例小结
2019/01/09 Javascript
p5.js实现故宫橘猫赏秋图动画
2019/10/23 Javascript
JS Web Flex弹性盒子模型代码实例
2020/03/10 Javascript
简单了解JavaScript弹窗实现代码
2020/05/07 Javascript
巧用Python装饰器 免去调用父类构造函数的麻烦
2012/05/18 Python
Python中enumerate函数代码解析
2017/10/31 Python
python微信聊天机器人改进版(定时或触发抓取天气预报、励志语录等,向好友推送)
2019/04/25 Python
python实现可变变量名方法详解
2019/07/01 Python
利用python-docx模块写批量生日邀请函
2019/08/26 Python
快速解决jupyter notebook启动需要密码的问题
2020/04/21 Python
css3制作动态进度条以及附加jQuery百分比数字显示
2012/12/13 HTML / CSS
移动端html5模拟长按事件的实现方法
2018/09/30 HTML / CSS
日本土著品牌,综合型购物网站:Cecile
2016/08/23 全球购物
会务接待方案
2014/02/27 职场文书
太太口服液广告词
2014/03/20 职场文书
优秀党务工作者事迹材料
2014/05/07 职场文书
战略性融资合作协议书范本
2014/10/17 职场文书
义诊活动总结
2015/02/04 职场文书
法人身份证明书
2015/06/18 职场文书