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 一个自定义长度的文本自动换行的函数
Aug 19 Javascript
Javascript学习笔记4 Eval函数
Jan 11 Javascript
前端开发过程中浏览器版本的两种判定方法
Oct 30 Javascript
JS事件在IE与FF中的区别详细解析
Nov 20 Javascript
jquery中交替点击事件的实现代码
Feb 14 Javascript
jQuery实现Twitter的自动文字补齐特效
Nov 28 Javascript
Jquery实现仿京东商城省市联动菜单
Nov 19 Javascript
瀑布流的实现方式(原生js+jquery+css3)
Jun 28 Javascript
小程序实现列表删除功能
Oct 30 Javascript
小程序根据手机机型设置自定义底部导航距离
Jun 04 Javascript
node.js爬虫框架node-crawler初体验
Oct 29 Javascript
canvas多重阴影发光效果实现
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
关于UEditor编辑器远程图片上传失败的解决办法
2012/08/31 PHP
php查询相似度最高的字符串的方法
2015/03/12 PHP
基于php数组中的索引数组和关联数组详解
2018/03/12 PHP
JQuery Ajax 跨域访问的解决方案
2010/03/12 Javascript
JavaScript高级程序设计 读书笔记之八 Function类及闭包
2012/02/27 Javascript
javascript四舍五入函数代码分享(保留后几位)
2013/12/10 Javascript
js取得html iframe中的元素和变量值
2014/06/30 Javascript
深入理解javascript构造函数和原型对象
2014/09/23 Javascript
JS实现文字链接感应鼠标淡入淡出改变颜色的方法
2015/02/26 Javascript
基于javascript实现浏览器滚动条快到底部时自动加载数据
2015/11/30 Javascript
JavaScript中匿名函数的用法及优缺点详解
2016/06/01 Javascript
详解js数组的完全随机排列算法
2016/12/16 Javascript
JavaScript 程序错误Cannot use 'in' operator to search的解决方法
2017/07/10 Javascript
详解使用vue-admin-template的优化历程
2018/05/20 Javascript
javascript防抖函数debounce详解
2019/06/11 Javascript
vue模块移动组件的实现示例
2020/05/20 Javascript
Python的collections模块中namedtuple结构使用示例
2016/07/07 Python
一些常用的Python爬虫技巧汇总
2016/09/28 Python
python实现协同过滤推荐算法完整代码示例
2017/12/15 Python
python thrift搭建服务端和客户端测试程序
2018/01/17 Python
python 对多个csv文件分别进行处理的方法
2019/01/07 Python
python 实现关联规则算法Apriori的示例
2020/09/30 Python
彪马美国官网:PUMA美国
2017/03/09 全球购物
美国婚戒购物网站:Anjays Designs
2017/06/28 全球购物
GANT葡萄牙官方商店:拥有美国运动服传统的生活方式品牌
2018/10/18 全球购物
西班牙用户之间买卖视频游戏的平台:Wakkap
2020/03/21 全球购物
家居设计专业个人自荐信范文
2013/11/26 职场文书
主要负责人任命书
2014/06/06 职场文书
浪漫婚礼主题活动策划方案
2014/09/15 职场文书
2014最新预备党员思想汇报范文:中国梦,我的梦
2014/10/25 职场文书
劳动争议和解协议书范本
2014/11/20 职场文书
中秋节晚会开场白
2015/05/29 职场文书
排球赛新闻稿
2015/07/17 职场文书
优秀共产党员主要事迹材料
2015/11/05 职场文书
2019年思想汇报
2019/06/20 职场文书
使用JS前端技术实现静态图片局部流动效果
2022/08/05 Javascript