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滚动图片具体实现
Nov 18 Javascript
jQuery插件scroll实现无缝滚动效果
Apr 27 Javascript
JavaScript基于setTimeout实现计数的方法
May 08 Javascript
深入理解关于javascript中apply()和call()方法的区别
Apr 12 Javascript
Node.js+Express配置入门教程
May 19 Javascript
JS获取和修改元素样式的实例代码
Aug 06 Javascript
基于vue2.0+vuex+localStorage开发的本地记事本示例
Feb 28 Javascript
利用JS如何计算字符串所占字节数示例代码
Sep 13 Javascript
vue实现商品加减计算总价的实例代码
Aug 12 Javascript
JS与SQL方式随机生成高强度密码示例
Dec 29 Javascript
原生JS实现的跳一跳小游戏完整实例
Jan 27 Javascript
JavaScript中this用法学习笔记
Mar 17 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
我的论坛源代码(六)
2006/10/09 PHP
Symfony生成二维码的方法
2016/02/04 PHP
php 中奖概率算法实现代码
2017/01/25 PHP
PHP实现自动发送邮件功能代码(qq 邮箱)
2017/08/18 PHP
Windows平台PHP+IECapt实现网页批量截图并创建缩略图功能详解
2019/08/02 PHP
JAVASCRIPT IE 与 FF中兼容问题小结
2009/02/18 Javascript
Mootools 1.2教程 函数
2009/09/15 Javascript
前端开发部分总结[兼容性、DOM操作、跨域等](持续更新)
2010/03/04 Javascript
页面回到顶部的三种实现(锚标记,js)
2012/10/01 Javascript
jquery 循环显示div的示例代码
2013/10/18 Javascript
3种不同方式的焦点图轮播特效分享
2013/10/30 Javascript
JS阻止用户多次提交示例代码
2014/03/26 Javascript
js冒泡、捕获事件及阻止冒泡方法详细总结
2014/05/08 Javascript
seaJs的模块定义和模块加载浅析
2014/06/06 Javascript
javascript每日必学之运算符
2016/02/16 Javascript
收集前端面试题之url、href、src
2018/03/22 Javascript
vue-router+nginx 非根路径配置方法
2018/06/30 Javascript
layer.open提交子页面的form和layedit文本编辑内容的方法
2019/09/27 Javascript
vue-cli在 history模式下的配置详解
2019/11/26 Javascript
Vue快速实现通用表单验证功能
2019/12/05 Javascript
基于JavaScript实现留言板功能
2020/03/16 Javascript
Python设计模式之适配器模式原理与用法详解
2019/01/15 Python
使用Python实现企业微信的自动打卡功能
2019/04/30 Python
Python3监控windows,linux系统的CPU、硬盘、内存使用率和各个端口的开启情况详细代码实例
2020/03/18 Python
django使用F方法更新一个对象多个对象字段的实现
2020/03/28 Python
Python flask框架实现浏览器点击自定义跳转页面
2020/06/04 Python
利用scikitlearn画ROC曲线实例
2020/07/02 Python
纯CSS实现的大小渐变、渐远效果
2014/04/15 HTML / CSS
详解css3使用transform出现字体模糊的解决办法
2020/10/16 HTML / CSS
出纳工作岗位责任制
2014/02/02 职场文书
传承焦裕禄精神思想汇报2014
2014/09/10 职场文书
车间主任岗位职责范本
2015/04/08 职场文书
党支部培养考察意见
2015/06/02 职场文书
会计主管竞聘书
2015/09/15 职场文书
MySQL 表锁定 LOCK和UNLOCK TABLES的 SQL语法
2022/04/18 MySQL
Python 读取千万级数据自动写入 MySQL 数据库
2022/06/28 Python