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 相关文章推荐
jQuery中:contains选择器用法实例
Dec 30 Javascript
EasyUI中combobox默认值注意事项
Mar 01 Javascript
学习javascript面向对象 javascript实现继承的方式
Jan 04 Javascript
js实现图片淡入淡出切换简易效果
Aug 22 Javascript
jQuery如何跳转到另一个网页 就这么简单
Dec 28 Javascript
JavaScript组件开发之输入框加候选框
Mar 10 Javascript
vue使用Element组件时v-for循环里的表单项验证方法
Jun 28 Javascript
详解使用React制作一个模态框
Mar 14 Javascript
Three.js中矩阵和向量的使用教程
Mar 19 Javascript
原生JS实现随机点名项目的实例代码
Apr 30 Javascript
JS基础之逻辑结构与循环操作示例
Jan 19 Javascript
JavaScript中使用Spread运算符的八种方法总结
Jun 18 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
WINDOWS服务器安装多套PHP的另类解决方案
2006/10/09 PHP
php动态读取数据清除最右边距的方法
2017/04/12 PHP
php将html转为图片的实现方法
2017/05/19 PHP
laravel5.4利用163邮箱发送邮件的步骤详解
2017/09/22 PHP
PHP的PDO预处理语句与存储过程
2019/01/27 PHP
php7 list()、session及其他模块的修改实例分析
2020/05/25 PHP
滚动条变色 隐藏滚动条与双击网页自动滚屏显示代码
2009/12/28 Javascript
理解Javascript_13_执行模型详解
2010/10/20 Javascript
JavaScript 高级篇之DOM文档,简单封装及调用、动态添加、删除样式(六)
2012/04/07 Javascript
jquery的相对父元素和相对文档定位示例代码
2013/08/02 Javascript
解决JS中乘法的浮点错误的方法
2014/01/03 Javascript
2014年最火的Node.JS后端框架推荐
2014/10/27 Javascript
使用JQuery中的trim()方法去掉前后空格
2016/09/16 Javascript
jquery easyui dataGrid动态改变排序字段名的方法
2017/03/02 Javascript
浅谈angularjs中响应回车事件
2017/04/24 Javascript
xmlplus组件设计系列之列表(4)
2017/04/26 Javascript
JS中的多态实例详解
2017/10/15 Javascript
详解Nodejs内存治理
2018/05/13 NodeJs
js核心基础之构造函数constructor用法实例分析
2019/05/11 Javascript
一分钟学会JavaScript中的try-catch
2020/12/14 Javascript
Python元字符的用法实例解析
2018/01/17 Python
Python 用turtle实现用正方形画圆的例子
2019/11/21 Python
Python如何使用Gitlab API实现批量的合并分支
2019/11/27 Python
python爬虫中抓取指数的实例讲解
2020/12/01 Python
CSS3 制作绽放的莲花采用效果叠加实现
2013/01/31 HTML / CSS
Jeep牧马人、切诺基和自由人零配件:4 Wheel Drive Hardware
2017/07/02 全球购物
项目考察欢迎辞
2014/01/17 职场文书
《逃家小兔》教学反思
2014/02/23 职场文书
战略合作意向书范本
2014/04/01 职场文书
企业法人授权委托书
2014/04/03 职场文书
民主评议党员自我鉴定
2014/10/21 职场文书
走群众路线学习笔记
2014/11/06 职场文书
现实表现材料范文
2014/12/23 职场文书
2016年质量月活动总结报告
2016/04/05 职场文书
python内置进制转换函数的操作
2021/06/02 Python
利用JavaScript写一个简单计算器
2021/11/27 Javascript