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 ui 1.7更新小结
Aug 15 Javascript
JavaScript弹出窗口方法汇总
Aug 12 Javascript
取得元素的左和上偏移量的方法
Sep 17 Javascript
DataTables+BootStrap组合使用Ajax来获取数据并且动态加载dom的方法(排序,过滤,分页等)
Nov 09 Javascript
浅谈ECMAScript6新特性之let、const
Aug 02 Javascript
vue的基本用法与常见指令
Aug 15 Javascript
vue渲染时闪烁{{}}的问题及解决方法
Mar 28 Javascript
菊花转动的jquery加载动画效果
Aug 19 jQuery
koa2使用ejs和nunjucks作为模板引擎的使用
Nov 27 Javascript
Node.js console控制台简单用法分析
Jan 04 Javascript
JS实现求5的阶乘示例
Jan 21 Javascript
Vue+Typescript中在Vue上挂载axios使用时报错问题
Aug 07 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
PHP使用者状态管理功能的应用
2006/10/09 PHP
PHP的面试题集,附我的答案和分析(一)
2006/11/19 PHP
Linux fgetcsv取得的数组元素为空字符串的解决方法
2011/11/25 PHP
PHP多线程批量采集下载美女图片的实现代码(续)
2013/06/03 PHP
jquery实现的一个导航滚动效果具体代码
2013/05/27 Javascript
js实现遮罩层划出效果是生成div而不是显示
2014/07/29 Javascript
解决js页面滚动效果scrollTop在FireFox与Chrome浏览器间的兼容问题的方法
2015/12/03 Javascript
简述jQuery ajax的执行顺序
2016/01/05 Javascript
探究JavaScript中的五种事件处理程序方式
2016/12/07 Javascript
Vue Cli与BootStrap结合实现表格分页功能
2017/08/18 Javascript
JavaScript中EventLoop介绍
2018/01/22 Javascript
vue 检测用户上传图片宽高的方法
2020/02/06 Javascript
JavaScript Window浏览器对象模型原理解析
2020/05/30 Javascript
Vue实现点击箭头上下移动效果
2020/06/11 Javascript
vue.js页面加载执行created,mounted的先后顺序说明
2020/11/07 Javascript
Python中利用sqrt()方法进行平方根计算的教程
2015/05/15 Python
Python实现批量转换文件编码的方法
2015/07/28 Python
python利用正则表达式提取字符串
2016/12/08 Python
Python3 socket同步通信简单示例
2017/06/07 Python
基于python时间处理方法(详解)
2017/08/14 Python
解决python matplotlib imshow无法显示的问题
2018/05/24 Python
Django渲染Markdown文章目录的方法示例
2019/01/02 Python
PyQt5 对图片进行缩放的实例
2019/06/18 Python
Pandas透视表(pivot_table)详解
2019/07/22 Python
Python爬取智联招聘数据分析师岗位相关信息的方法
2019/08/13 Python
pycharm工具连接mysql数据库失败问题
2020/04/01 Python
python 窃取摄像头照片的实现示例
2021/01/08 Python
html5服务器推送_动力节点Java学院整理
2017/07/12 HTML / CSS
Herschel美国官网:背包、手提袋及配件
2020/03/10 全球购物
将一个数的从第5位开始的7个数取出,其余位置0
2016/05/26 面试题
促销活动方案模板
2014/02/24 职场文书
大学生创业事迹材料
2014/12/30 职场文书
二手车转让协议书
2015/01/29 职场文书
2015年仓库管理员工作总结
2015/04/21 职场文书
培训学校2015年度工作总结
2015/07/20 职场文书
网吧员工管理制度
2015/08/05 职场文书