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 相关文章推荐
JS保留两位小数 四舍五入函数的小例子
Nov 20 Javascript
jquery遍历select元素(实例讲解)
Dec 31 Javascript
基于MVC4+EasyUI的Web开发框架形成之旅之界面控件的使用
Dec 16 Javascript
详解JavaScript中的事件流和事件处理程序
May 20 Javascript
基于JQuery实现图片上传预览与删除操作
May 24 Javascript
使用JavaScript获取Request中参数的值方法
Sep 27 Javascript
ajax级联菜单实现方法实例分析
Nov 28 Javascript
jQuery实现的简单动态添加、删除表格功能示例
Sep 21 jQuery
浅析java线程中断的办法
Jul 29 Javascript
JavaScript中的this妙用实例分析
May 09 Javascript
Vue使用CDN引用项目组件,减少项目体积的步骤
Oct 30 Javascript
vue自定义组件实现双向绑定
Jan 13 Vue.js
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
php使用curl发送json格式数据实例
2013/12/17 PHP
php文件服务实现虚拟挂载其他目录示例
2014/04/17 PHP
PHP通过加锁实现并发情况下抢码功能
2016/08/10 PHP
Zend Framework校验器Zend_Validate用法详解
2016/12/09 PHP
php mysql操作mysql_connect连接数据库实例详解
2016/12/26 PHP
php pdo操作数据库示例
2017/03/10 PHP
actionscript与javascript的区别
2011/05/25 Javascript
JavaScript实现自己的DOM选择器原理及代码
2013/03/04 Javascript
Jquery实现图片放大镜效果的思路及代码(自写)
2013/10/18 Javascript
js取消单选按钮选中示例代码
2013/11/14 Javascript
三种取消选中单选框radio的方法
2014/09/09 Javascript
jquery实现聚光灯效果的方法
2015/02/06 Javascript
JS实现网页表格自动变大缩小的方法
2015/03/09 Javascript
jQuery删除一个元素后淡出效果展示删除过程的方法
2015/03/18 Javascript
JavaScript检测鼠标移动方向的方法
2015/05/22 Javascript
AngularJS控制器controller正确的通信的方法
2016/01/25 Javascript
JavaScript+html5 canvas绘制渐变区域完整实例
2016/01/26 Javascript
AngularJS整合Springmvc、Spring、Mybatis搭建开发环境
2016/02/25 Javascript
轻松掌握JavaScript单例模式
2016/08/25 Javascript
JS多物体实现缓冲运动效果示例
2016/12/20 Javascript
webpack学习教程之publicPath路径问题详解
2017/06/17 Javascript
微信小程序防止多次点击跳转和防止表单组件输入内容多次验证功能(函数防抖)
2019/09/19 Javascript
如何基于JS截获动态代码
2019/12/25 Javascript
详解VUE中的插值( Interpolation)语法
2020/10/18 Javascript
[02:14]2016国际邀请赛中国区预选赛Ehome晋级之路
2016/07/01 DOTA
快速解决pyqt5窗体关闭后子线程不同时退出的问题
2019/06/19 Python
numpy.meshgrid()理解(小结)
2019/08/01 Python
TensorFlow中如何确定张量的形状实例
2020/06/23 Python
python 两种方法删除空文件夹
2020/09/29 Python
俄罗斯连接商品和买家的在线平台:goods.ru
2020/11/30 全球购物
信息专业学生学习的自我评价
2014/02/17 职场文书
合作协议书范文
2014/08/20 职场文书
幼儿园端午节活动方案
2014/08/25 职场文书
流动人口婚育证明范本
2014/09/26 职场文书
六查六看自查报告
2014/10/14 职场文书
思想作风建设心得体会
2014/10/22 职场文书