JavaScript制作3D旋转相册


Posted in Javascript onAugust 02, 2020

本文实例为大家分享了js 3D旋转相册展示的具体代码,供大家参考,具体内容如下

源代码:

<!DOCTYPE html>
<html lang="en">
<head>
 <meta charset="UTF-8">
 <title>Title</title>
 <style>
 *{padding:0;margin:0; font-family: "Proxima Nova","proxima-nova","Helvetica Neue",Helvetica,Arial,sans-serif !important;}
 html body{overflow: hidden;}
 body{background:#ccc;}
 .box{width:140px; height:200px; -webkit-transform-style:preserve-3d; -webkit-transform: perspective(800px) rotateY(0deg) rotateX(0deg); position:relative; margin:400px auto;}
 .box span{width:140px; height:200px; position: absolute; background:deepskyblue; font-size:20px;
 text-align: center; line-height:200px; color:white;}
 </style>
 <script>
 function r2n(n){
 return n*Math.PI/180
 }
 window.onload=function(){
 var oBox=document.getElementsByClassName('box')[0];
 var aS=document.getElementsByTagName('span');
 for(var i=0;i<aS.length;i++){
 aS[i].style.WebkitTransition='1s all ease '+(aS.length-i)*.1+'s';
 aS[i].style.WebkitTransform='rotateY('+i*360/aS.length+'deg)'+' translateZ(500px) '
 }
 var pos=[];
 var x=0;
 var y=0;
 var timer=null;
 var timer2=null;
 document.onmousedown=function(ev){
 timer=setInterval(function(){
  pos[0]=pos[2];
  pos[1]=pos[3];
  pos[2]=x;
  pos[3]=y;
 },30);
 var disx=ev.pageX-x;
 var disy=ev.pageY-y;
 document.onmousemove=function(ev){
  x=ev.pageX-disx;
  y=ev.pageY-disy;
  oBox.style.WebkitTransform=' perspective(800px)'+' rotateY('+x/3+'deg)'+'rotateX('+-y/3+'deg)';
 };
 document.onmouseup=function(){
  clearInterval(timer);
  var speedx=pos[2]-pos[0];
  var speedy=pos[3]-pos[1];
  timer2=setInterval(function(){
  x+=speedx;
  y+=speedy;
  oBox.style.WebkitTransform=' perspective(800px)'+' rotateY('+x/3+'deg)'+'rotateX('+-y/3+'deg)';
  speedx*=0.94;
  speedy*=0.94;
  if(Math.abs(speedx)<1)speedx=0;
  if(Math.abs(speedy)<1)speedy=0;
  if(speedx==0&&speedy==0){
  clearInterval(timer2)
  }
  },30);
  document.onmousemove=null;
  document.onmouseup=null;
 }
 };
 return false
 }
 </script>
</head>
<body>
<div class="box">
 <span>1</span>
 <span>2</span>
 <span>3</span>
 <span>4</span>
 <span>5</span>
 <span>6</span>
 <span>7</span>
 <span>8</span>
 <span>9</span>
 <span>10</span>
 <span>11</span>
 <span>12</span>
</div>
</body>
</html>

效果图:

JavaScript制作3D旋转相册

可用鼠标拖动。

以上就是本文的全部内容,希望对大家的学习有所帮助,也希望大家多多支持三水点靠木。

Javascript 相关文章推荐
JAVASCRIPT keycode总结
Feb 04 Javascript
了解jQuery技巧来提高你的代码
Jan 08 Javascript
IE事件对象(The Internet Explorer Event Object)
Jun 27 Javascript
jQuery学习笔记 更改jQuery对象
Sep 19 Javascript
可在线编辑网页文字效果代码(单击)
Mar 02 Javascript
NODE.JS加密模块CRYPTO常用方法介绍
Jun 05 Javascript
js实现a标签超链接提交form表单的方法
Jun 24 Javascript
javascript中的五种基本数据类型
Aug 26 Javascript
Vue2.0实现将页面中表格数据导出excel的实例
Aug 09 Javascript
vue实现搜索功能
May 28 Javascript
关于在LayUI中使用AJAX提交巨坑记录
Oct 25 Javascript
javascript利用键盘控制小方块的移动
Apr 20 Javascript
微信小程序工具函数封装
Oct 28 #Javascript
js实现3D照片墙效果
Oct 28 #Javascript
vue+webpack 更换主题N种方案优劣分析
Oct 28 #Javascript
使用Vue调取接口,并渲染数据的示例代码
Oct 28 #Javascript
JavaScript 反射和属性赋值实例解析
Oct 28 #Javascript
vue 解决数组赋值无法渲染在页面的问题
Oct 28 #Javascript
在vue中把含有html标签转为html渲染页面的实例
Oct 28 #Javascript
You might like
php simplexmlElement操作xml的命名空间实现代码
2011/01/04 PHP
基于curl数据采集之单页面采集函数get_html的使用
2013/04/28 PHP
教你在PHPStorm中配置Xdebug
2015/07/27 PHP
php实现的错误处理封装类实例
2017/06/20 PHP
PHP实现的权重算法示例【可用于游戏根据权限来随机物品】
2019/02/15 PHP
从Ajax到JQuery Ajax学习
2007/02/14 Javascript
Jquery CheckBox全选方法代码附js checkbox全选反选代码
2010/06/09 Javascript
js编码、解码函数介绍及其使用示例
2013/09/05 Javascript
jQuery焦点图切换简易插件制作过程全纪录
2014/08/27 Javascript
原生javascript实现隔行换色
2015/01/04 Javascript
js窗口关闭提示信息(兼容IE和firefox)
2015/10/23 Javascript
基于JavaScript实现仿京东图片轮播效果
2015/11/06 Javascript
JavaScript+html5 canvas绘制渐变区域完整实例
2016/01/26 Javascript
js实现弹窗居中的简单实例
2016/10/09 Javascript
使用angular帮你实现拖拽的示例
2017/07/05 Javascript
Vue.js框架路由使用方法实例详解
2017/08/25 Javascript
Vue上传组件vue Simple Uploader的用法示例
2017/08/25 Javascript
使用Python的Bottle框架写一个简单的服务接口的示例
2015/08/25 Python
python+opencv实现摄像头调用的方法
2019/06/22 Python
python 将字符串中的数字相加求和的实现
2019/07/18 Python
使用Django xadmin 实现修改时间选择器为不可输入状态
2020/03/30 Python
CSS3教程:新增加的结构伪类
2009/04/02 HTML / CSS
CSS3实现自定义Checkbox特效实例代码
2017/04/24 HTML / CSS
24个canvas基础知识小结
2014/12/17 HTML / CSS
Europcar葡萄牙:葡萄牙汽车和货车租赁
2017/10/13 全球购物
NFL墨西哥官方商店:Tienda NFL
2017/11/28 全球购物
100%植物性、有机、即食餐:Sakara Life
2018/10/25 全球购物
不同浏览器创建XMLHttpRequest方法有什么不同
2014/11/17 面试题
自荐信包含哪些内容
2013/10/30 职场文书
行政专员岗位职责
2014/01/02 职场文书
2014信息技术专业毕业生自我评价
2014/01/17 职场文书
制药工程专业个人求职自荐信
2014/01/25 职场文书
吸烟检讨书2000字
2014/02/13 职场文书
破坏寝室公物检讨书
2014/11/17 职场文书
2015年人力资源部工作总结
2015/04/30 职场文书
2015年行政执法工作总结
2015/05/23 职场文书