js实现图片360度旋转


Posted in Javascript onJanuary 22, 2017

大致介绍

这次是一个简单的效果,就是思路的问题

效果:

js实现图片360度旋转

思路

旋转的效果就是根据鼠标的的移动距离来显示不同的图片,形成视觉差,仿佛就是在正真的旋转

由于效果是根据鼠标的移动距离来操作的,即移动的像素值。如果按照默认的情况,移动鼠标的时候图片就旋转的太快了,所以我们要给鼠标移动的距离处以15,降低图片的旋转速度。

var l = parseInt(-x/15);

有一个问题是在鼠标向左移动的时候,移动的距离是负的。要想正确的显示图片,就要对负值进行处理。例如-1,图片要显示最后一张即72张(图片一共有72张)。-100时要显示第44张图片,但是由于图片的命名是从1开始的,而不是从0开始的,所以要在最后加1

var l = parseInt(-x/15);
  if(l > 0){
   l = l%72+1;
  }else{
   l = (l + -72*(Math.floor(l/72))) + 1;
  }

代码

<style>
 html,body {height:100%;}
 body {margin:0;}
 img{
 width: 640px;
 height: 378px;
 position: absolute;
 left: 50%
 top: 50%;
 margin-top:120px; 
 margin-left:320px;
 }
 </style>
 <script>
 window.onload = function(){
 var x = 0;
 var oImg = document.getElementById('img1');
 document.onmousedown = function(ev){
  var ev = ev || enent;
  var disX = ev.clientX - x;
  document.onmousemove = function(ev){
  var ev = ev || event;
  x = ev.clientX - disX;
  var l = parseInt(-x/15);
  if(l > 0){
   l = l%72+1;
  }else{
   l = (l + -72*(Math.floor(l/72))) + 1;
  }
  oImg.src = "img/Seq_v04_640x378_"+ l +".jpg"
  return false;
  };
  document.onmouseup = function(){
  document.onmouseup = null;
  document.onmousemove = null;
  }
  return false;
 }
 }
 </script>
</head>
<body>
<div class="img_wrap">
 <img id="img1" src="img/Seq_v04_640x378_1.jpg" > 
</div>
</body>

以上就是本文的全部内容,希望本文的内容对大家的学习或者工作能带来一定的帮助,同时也希望多多支持三水点靠木!

Javascript 相关文章推荐
Javascript SHA-1:Secure Hash Algorithm
Dec 20 Javascript
对YUI扩展的Gird组件 Part-2
Mar 10 Javascript
从零开始学习jQuery (十) jQueryUI常用功能实战
Feb 23 Javascript
JS二维数组的定义说明
Mar 03 Javascript
jQuery动态改变多行文本框高度的方法
Sep 07 Javascript
HTML中setCapture、releaseCapture 使用方法浅析
Sep 25 Javascript
Angular1.x复杂指令实例详解
Mar 01 Javascript
EasyUI为Numberbox添加blur事件的方法
Mar 05 Javascript
Node.js之网络通讯模块实现浅析
Apr 01 Javascript
Angular.js实现动态加载组件详解
May 28 Javascript
vue-cli构建项目下使用微信分享功能
May 28 Javascript
小程序实现长按保存图片的方法
Dec 31 Javascript
Vue 过渡(动画)transition组件案例详解
Jan 22 #Javascript
BootstrapTable请求数据时设置超时(timeout)的方法
Jan 22 #Javascript
boostrapTable的refresh和refreshOptions区别浅析
Jan 22 #Javascript
Ajax跨域实现代码(后台jsp)
Jan 21 #Javascript
JavaScript、C# URL编码、解码总结
Jan 21 #Javascript
Vue结合原生js实现自定义组件自动生成示例
Jan 21 #Javascript
jQuery基于正则表达式的表单验证功能示例
Jan 21 #Javascript
You might like
JAVA/JSP学习系列之四
2006/10/09 PHP
Views rows style模板重写代码
2011/05/16 PHP
PHP实现把MySQL数据库导出为.sql文件实例(仿PHPMyadmin导出功能)
2014/05/10 PHP
php对象在内存中的存在形式分析
2015/02/03 PHP
php目录拷贝实现方法
2015/07/10 PHP
javascript 不间断的图片滚动并可点击
2010/01/15 Javascript
无阻塞加载脚本分析[全]
2011/01/20 Javascript
jquery 插件学习(五)
2012/08/06 Javascript
js简单实现点击左右运动的方法
2015/04/10 Javascript
jQuery插件animateSlide制作多点滑动幻灯片
2015/06/11 Javascript
jQuery采用连缀写法实现的折叠菜单效果
2015/09/18 Javascript
javascript使用Promise对象实现异步编程
2016/03/01 Javascript
JavaScript计算器网页版实现代码分享
2016/07/15 Javascript
AngularJS API之copy深拷贝详解及实例
2016/09/14 Javascript
jQuery Password Validation密码验证
2016/12/30 Javascript
微信小程序城市定位的实现实例(获取当前所在国家城市信息)
2017/05/17 Javascript
微信小程序 wx.request方法的异步封装实例详解
2017/05/18 Javascript
AngularJS实现的省市二级联动功能示例【可对选项实现增删】
2017/10/26 Javascript
vue.js模仿京东省市区三级联动的选择组件实例代码
2017/11/22 Javascript
Vue触发式全局组件构建的方法
2018/11/28 Javascript
python下调用pytesseract识别某网站验证码的实现方法
2016/06/06 Python
python实现unicode转中文及转换默认编码的方法
2017/04/29 Python
Python内置函数——__import__ 的使用方法
2017/11/24 Python
python画一个玫瑰和一个爱心
2020/08/18 Python
python通过zabbix api获取主机
2018/09/17 Python
python 实现return返回多个值
2019/11/19 Python
Python Opencv 通过轨迹(跟踪)栏实现更改整张图像的背景颜色
2020/03/09 Python
对django 2.x版本中models.ForeignKey()外键说明介绍
2020/03/30 Python
Python+pyftpdlib实现局域网文件互传
2020/08/24 Python
银行会计职员个人的自我评价
2013/09/29 职场文书
客户经理岗位职责
2013/12/08 职场文书
职业女性的职业规划
2014/03/04 职场文书
货车司机岗位职责
2014/03/18 职场文书
小学爱国卫生月活动总结
2014/06/30 职场文书
英语四级考试作弊检讨书
2014/09/29 职场文书
PHP中国际化的字符串排序和比较对象详解
2021/08/23 PHP