今天来看一个CSS 3D盒子动画,利用jqueryUI和jquery实现盒子动画的控制。

简易效果在线把玩请戳这里,下载收藏请戳这里。

优化效果在线把玩戳这里,下载收藏请戳这里。

我们需要两个slider,一个input来控制盒子运动。

<div class="wrapper"><h4>Animate X axis</h4><div id="sliderX"></div><br><h4>Animate Y axis</h4><div id="sliderY"></div><br><input type="checkbox" /> Auto animate
</div>

接着我们来做盒子,我们需要两个面

<div id="viewport"><div id="cube"><div id="front"></div><div id="back"></div><div id="top"></div><div id="bottom"></div><div id="left"></div><div id="right"></div></div>
</div>

嗯,这样html文件就完成了,接下去是CSS(为了简化操作,我们还是用prefix free)。

.wrapper {width: 400px;
}
#viewport {perspective: 1000px;width: 200px;height: 200px;position: absolute;top: 50%;left: 50%;margin: -100px 0 0 -100px;
}
.animate {animation: myanim 5s infinite;
}
#cube {transform: rotateX(50deg) rotateY(50deg);transform-style: preserve-3D;transition: all 3s;width: 100%;height: 100%;
}
#cube div {width: 100%;height: 100%;position: absolute;color: #efefef;font-size: 140px;text-align: center;
}
#front {background: #556270;transform: translateZ(100px);
}
#back {background: #9C9F84;transform: translateZ(-100px) rotateY(180deg);
}
#top {background: #4ECDC4;transform: translateY(-100px) rotateX(90deg);
}
#bottom {background: #C7F464;transform: translateY(100px) rotateX(-90deg);
}
#left {background: #FF6B6B;transform: translateX(-100px) rotateY(-90deg);
}
#right {background: #C44D58;transform: translateX(100px) rotateY(90deg);
}
@keyframes myanim {0%  { transform: rotateX(0deg) rotateY(0deg); }50% { transform: rotateX(360deg) rotateY(360deg); }100% { transform: rotateX(0deg) rotateY(0deg); }
}

我们这里仅仅是为每个面添加了不同的颜色,当然大家可以为每个面增加背景图像等等。

然后我们需要用js来实现对动画的控制,我们用到了jquery和jqueryUI,所以实际上我们需要把这些库引进来,恰似下面代码(用的是codepen远端库)。

  <link rel='stylesheet' href='http://codepen.io/assets/libs/fullpage/jquery-ui.css'><script src='http://codepen.io/assets/libs/fullpage/jquery_and_jqueryui.js'></script>

然后我们可以使用jqueryUI了。

$(function () {$("#sliderX").slider({value: 50,min: 0,max: 360,animate: "fast",slide: function( event, ui ) {$("#cube").css("transform", "rotateX(" + ui.value + "deg)")}});$("#sliderY").slider({value: 50,min: 0,max: 360,animate: "fast",slide: function( event, ui ) {$("#cube").css("transform", "rotateY(" + ui.value + "deg)")}});$("input").on("click", function () {$("#cube").toggleClass("animate");});});

对于jQueryUI的使用,请大家参照官方网站。完工!

效果进行了优化,增加了键盘的上下左右键控制。

$(function () {var xAngle = 0,yAngle = 0;//x轴Slider$("#sliderX").slider({value: 0,min: 0,max: 360,animate: "fast",slide: function (event, ui) {$("#cube").css("transform", "rotateX(" + ui.value + "deg)");xAngle = ui.value;}});//y轴Slider$("#sliderY").slider({value: 0,min: 0,max: 360,animate: "fast",slide: function (event, ui) {$("#cube").css("transform", "rotateY(" + ui.value + "deg)");xAngle = ui.value;}});//自动播放,autoplay$("input").on("click", function () {$("#cube").toggleClass("animate");});//上下左右控制,left、right、up、down$('body').keydown(function (evt) {switch (evt.keyCode) {case 37:// leftyAngle -= 45;break;case 38:// upxAngle += 45;break;case 39:// rightyAngle += 45;break;case 40:// downxAngle -= 45;break;};$("#cube").css("transform", "rotateX(" + xAngle + "deg) rotateY(" + yAngle + "deg)");});
});

完工!敬请大家批评指正!
---------------------------------------------------------------

前端开发whqet,关注web前端开发技术,分享网页相关资源。
---------------------------------------------------------------

可控制的CSS3D盒子动画相关推荐

  1. 基于plc的隧道式,门框式全自动洗车机控制,组态王动画仿真

    基于plc的隧道式,门框式全自动洗车机控制,组态王动画仿真,带PLC源代码,组态王源代码,图纸,IO地址分配id=639684592600&

  2. 用JS控制SVG的预设动画

    目录 SVG基础 SVG预定义元素,不同的元素可拥有不同的属性 可用于 `` 路径的命令,所有命令均允许小写,大写表示绝对定位,小写表示相对定位 stroke属性,可广泛应用于任何种类的线条.文字或元 ...

  3. 4、CSS立体盒子动画——复仇者联盟

    1.效果展示 2.免费代码下载 CSS+立体盒子动画+复仇者联盟-Javascript文档类资源-CSDN下载 3.HTML代码结构 <body> <div class=" ...

  4. 基于S7-200 PLC和MCGS组态的水箱水位控制系统设计 组态王动画仿真,带PLC源代码,plc程序每一条都带着解释

    基于S7-200 PLC和MCGS组态的水箱水位控制系统设计 组态王动画仿真,带PLC源代码,plc程序每一条都带着解释,组态王源代码,图纸,IO地址分配 ID:7269672992996086Hol ...

  5. 基于s7—1200的电梯控制,wincc hmi动画仿真,带PLC源代码

    基于s7-1200的电梯控制,wincc hmi动画仿真,带PLC源代码,hmi源代码,图纸,IO地址分配id=639682504507&

  6. Unity(三十七):3D模型动画、脚本控制模型骨骼IK动画

    效果(左侧模型动画,右侧模型IK控制) 模型动画下载及导入 推荐模型动画下载链接地址 https://actorcore.reallusion.com/ Unity导入教程参见以下链接地址(需要科学上 ...

  7. 【Web】使用Three.js制作有数据源控制的3D模型动画

    懒得写了,大概记录下步骤. 1. 使用开源软件Blender制作3D模型 1.1 Blender Blender类似于3DMax.Maya,是制作3D模型的工具软件,是开源软件,但较难使用,无法制作精 ...

  8. 基于vue渐变展开收起盒子动画(盒子高度不定)

    基于vue展开收起盒子动画(盒子高度不定) 问题: transition动画只能对高度给定的盒子,在高度变化时实现展开收起动画.对于不定高度的盒子,transition无能为力 解决方案: 小白入门, ...

  9. 【游戏开发实战】使用Unity制作像天天酷跑一样的跑酷游戏——第二篇:使用Animator控制跑酷角色的动画状态切换

    文章目录 一.前言 二.制作一段跳.二段跳动画 三.编辑动画控制器 四.运行效果 一.前言 嗨,大家好,我是新发,今天是大年初二,大家牛年快乐,牛气冲天. 我打算写一篇使用Unity制作像天天酷跑一样 ...

最新文章

  1. Linux下C编程入门(7)
  2. 2017年内容安全十大事件盘点
  3. “中国智造”为System x提供创新源动力
  4. Hello Blazor:(2)集成Tailwind CSS
  5. C++字符串分割替换 ubuntu版本
  6. mongodb 监控权限_运维监控产品分析篇
  7. 词云-vue-wordcloud组件封装
  8. 打造×××互连无极限,多WAN口×××防火墙
  9. Docker学习文档之三 其他相关-Dockerfile指令
  10. sql语句格式化数字(前面补0)、替换字符串
  11. 随机生成器,从给定列表中随机抽取一个元素
  12. 青年志愿者演讲稿范⽂5篇
  13. spring不停机部署_关于不停机部署方案的选择
  14. NFS服务器工作原理及权限设置
  15. 流媒体(视频)开发常用调试工具
  16. seo日常工作表_seo专员日常工作内容是什么?
  17. DataWhale Golang(十、异常处理)
  18. webp 动画 android,Android加载animated webp的控制和Glide加载GIF
  19. 中职计算机说课教法,2015教师资格证面试高中美术中职公共艺术美术篇说课稿 平面构成中的形象—活泼的点...
  20. centos安装 docker的教程

热门文章

  1. 马未都激励自己的八字方针
  2. 科达智能交通构筑上海迪士尼大客流第一道防线
  3. IOS各种调试技巧豪华套餐(好东西)
  4. mui android 状态栏,MUI——设置沉浸式状态栏
  5. 运维自动化发展历程及技术应用
  6. javascript语言简介
  7. 海格里斯立体库货架仓储中心 现代化自动化立体库货架的设计要点
  8. 四非计算机保研985
  9. 谁是最强的双非大学?软科50所最强“双非”大学排名来了!
  10. ethtool 开启网卡_ethtool查看网卡以及修改网卡配置