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 弹出层插件实现代码
Oct 24 Javascript
jquery Moblie入门—hello world的示例代码学习
Jan 08 Javascript
javascript电商网站抢购倒计时效果实现
Nov 19 Javascript
基于Javascript实现倒计时功能
Feb 22 Javascript
动态加载js、css的简单实现代码
May 26 Javascript
Node.js利用Net模块实现多人命令行聊天室的方法
Dec 23 Javascript
JSON与JS对象的区别与对比
Mar 01 Javascript
vue.js中Vue-router 2.0基础实践教程
May 08 Javascript
详解EasyUi控件中的Datagrid
Aug 23 Javascript
js中的reduce()函数讲解
Jan 18 Javascript
Node.js系列之发起get/post请求(2)
Aug 30 Javascript
vue实现公共方法抽离
Jul 31 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上传图片到指定位置路径保存到数据库的具体实现
2013/12/30 PHP
php将url地址转化为完整的a标签链接代码(php为url地址添加a标签)
2014/01/17 PHP
WordPres对前端页面调试时的两个PHP函数使用小技巧
2015/12/22 PHP
PHP简单实现上一页下一页功能示例
2016/09/14 PHP
PHP获取文本框、密码域、按钮的值实例代码
2017/04/19 PHP
什么是PHP文件?如何打开PHP文件?
2017/06/27 PHP
js网页侧边随页面滚动广告效果实现
2011/04/14 Javascript
(跨浏览器基础事件/浏览器检测/判断浏览器)经验代码分享
2013/01/24 Javascript
Javascript玩转继承(三)
2014/05/08 Javascript
js倒计时抢购实例
2015/12/20 Javascript
JQuery点击事件回到页面顶部效果的实现代码
2016/05/24 Javascript
javascript如何创建对象
2016/08/29 Javascript
微信小程序中的swiper组件详解
2017/04/14 Javascript
JavaScript禁止微信浏览器下拉回弹效果
2017/05/16 Javascript
JavaScript实现点击出现图片并统计点击次数功能示例
2018/07/23 Javascript
浅谈React Event实现原理
2018/09/20 Javascript
引入外部js脚本加载慢与页面白屏问题的解决
2018/12/10 Javascript
Electron + vue 打包桌面操作流程详解
2019/06/24 Javascript
vue子传父关于.sync与$emit的实现
2019/11/05 Javascript
Node绑定全局TraceID的实现方法
2019/11/14 Javascript
[00:44]TI7不朽珍藏III——军团指挥官不朽展示
2017/07/15 DOTA
Django实现登录随机验证码的示例代码
2018/06/20 Python
python库lxml在linux和WIN系统下的安装
2018/06/24 Python
基于Python的Post请求数据爬取的方法详解
2019/06/14 Python
细数nn.BCELoss与nn.CrossEntropyLoss的区别
2020/02/29 Python
jupyter notebook 实现matplotlib图动态刷新
2020/04/22 Python
使用jupyter notebook运行python和R的步骤
2020/08/13 Python
美国从事品牌鞋类零售的连锁店:Famous Footwear
2016/08/25 全球购物
Blue Nile台湾:钻石珠宝商,订婚首饰、结婚戒指和精品首饰
2017/11/24 全球购物
Pedro官网:新加坡时尚品牌
2019/08/27 全球购物
餐厅考勤管理制度
2014/01/28 职场文书
幼儿评语大全
2014/04/30 职场文书
市委常委会班子党的群众路线教育实践活动整改方案
2014/10/25 职场文书
房地产置业顾问岗位职责
2015/04/11 职场文书
图片批量处理 - 尺寸、格式、水印等
2022/03/07 杂记
Redis高并发缓存架构性能优化
2022/05/15 Redis