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常用函数 不错
Sep 08 Javascript
js跨域资源共享 基础篇
Jul 02 Javascript
BootStrap中Table分页插件使用详解
Oct 09 Javascript
在 Angular2 中实现自定义校验指令(确认密码)的方法
Jan 23 Javascript
React 高阶组件入门介绍
Jan 11 Javascript
微信小程序模版渲染详解
Jan 26 Javascript
微信小程序实现人脸检测功能
May 25 Javascript
JS 中可以提升幸福度的小技巧(可以识别更多另类写法)
Jul 28 Javascript
jQuery的ztree仿windows文件新建和拖拽功能的实现代码
Dec 05 jQuery
vue+element加入签名效果(移动端可用)
Jun 17 Javascript
js+css3实现简单时钟特效
Sep 13 Javascript
vue3种table表格选项个数的控制方法
Apr 14 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
基于qmail的完整WEBMAIL解决方案安装详解
2006/10/09 PHP
php 搜索框提示(自动完成)实例代码
2012/02/05 PHP
php中邮箱地址正则表达式实现与详解
2012/04/24 PHP
深入php之规范编程命名小结
2013/05/15 PHP
php无限遍历文件夹示例分享
2014/03/04 PHP
thinkPHP实现瀑布流的方法
2014/11/29 PHP
浅谈PHP中Stream(流)
2015/06/08 PHP
分享五个PHP7性能优化提升技巧
2015/12/07 PHP
Yii2中添加全局函数的方法分析
2017/05/04 PHP
Laravel学习基础之migrate的使用教程
2017/10/11 PHP
Mootools 1.2教程 输入过滤第一部分(数字)
2009/09/15 Javascript
JQuery index()方法使用代码
2010/06/02 Javascript
Asp.net下使用Jquery Ajax传送和接收DataTable的代码
2010/09/12 Javascript
jquery 面包屑导航 具体实现
2013/06/05 Javascript
javascript进行四舍五入方法汇总
2014/12/16 Javascript
介绍JavaScript的一个微型模版
2015/06/24 Javascript
bootstrap的3级菜单样式,支持母版页保留打开状态实现方法
2016/11/10 Javascript
vue axios 表单提交上传图片的实例
2018/03/16 Javascript
解决layui动态添加的元素click等事件触发不了的问题
2019/09/20 Javascript
jquery实现垂直手风琴导航栏
2020/02/18 jQuery
对于Python异常处理慎用“except:pass”建议
2015/04/02 Python
在python3中pyqt5和mayavi不兼容问题的解决方法
2019/01/08 Python
使用python动态生成波形曲线的实现
2019/12/04 Python
在Python中利用pickle保存变量的实例
2019/12/30 Python
Python使用内置函数setattr设置对象的属性值
2020/10/16 Python
Python函数调用追踪实现代码
2020/11/27 Python
python实现双人五子棋(终端版)
2020/12/30 Python
python 高阶函数简单介绍
2021/02/19 Python
校园自助餐厅的创业计划书
2013/12/26 职场文书
财务简历的自我评价
2014/03/05 职场文书
辩论赛新闻稿
2015/07/17 职场文书
关于分班的感言
2015/08/04 职场文书
聘任协议书(挂靠)
2015/09/21 职场文书
《金色的草地》教学反思
2016/02/17 职场文书
2016年学校十一国庆节活动总结
2016/04/01 职场文书
Mybatis-plus配置分页插件返回统一结果集
2022/06/21 Java/Android