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 相关文章推荐
网页里控制图片大小的相关代码
Jun 25 Javascript
JQuery 无废话系列教程(二) jquery实战篇上
Jun 23 Javascript
JS实现兼容火狐及IE iframe onload属性的遮罩层隐藏及显示效果
Aug 23 Javascript
如何解决IONIC页面底部被遮住无法向上滚动问题
Sep 06 Javascript
JS验证 只能输入小数点,数字,负数的实现方法
Oct 07 Javascript
angularJs关于指令的一些冷门属性详解
Oct 24 Javascript
DropDownList控件绑定数据源的三种方法
Dec 24 Javascript
BootStrap CSS全局样式和表格样式源码解析
Jan 20 Javascript
Angular使用ControlValueAccessor创建自定义表单控件
Mar 08 Javascript
深入理解webpack process.env.NODE_ENV配置
Feb 23 Javascript
vue项目中使用bpmn-自定义platter的示例代码
May 11 Javascript
一行JavaScript代码如何实现瀑布流布局
Dec 11 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
ThinkPHP3.2.2实现持久登录(记住我)功能的方法
2016/05/16 PHP
微信支付开发订单查询实例
2016/07/12 PHP
Yii2使用dropdownlist实现地区三级联动功能的方法
2016/07/18 PHP
php array_values 返回数组的值实例详解
2016/11/17 PHP
PHP使用imagick扩展实现合并图像的方法
2017/04/25 PHP
Ext第一周 史上最强学习笔记---GridPanel(基础篇)
2008/12/29 Javascript
Extjs学习笔记之四 工具栏和菜单
2010/01/07 Javascript
js和jquery批量绑定事件传参数一(新猪猪原创)
2010/06/23 Javascript
鼠标移动到图片名上,显示图片的简单实例
2013/07/14 Javascript
jquery的flexigrid无法显示数据提示获取到数据
2013/07/19 Javascript
JQuery设置时间段下拉选择实例
2014/12/30 Javascript
浅谈JavaScript中setInterval和setTimeout的使用问题
2015/08/01 Javascript
Clipboard.js 无需Flash的JavaScript复制粘贴库
2015/10/02 Javascript
jQuery实现鼠标滑过预览图片大图效果的方法
2017/04/26 jQuery
Node.js+Express+MySql实现用户登录注册功能
2017/07/10 Javascript
vue 2.0封装model组件的方法
2017/08/03 Javascript
nginx部署访问vue-cli搭建的项目的方法
2018/02/12 Javascript
jQuery使用jsonp实现百度搜索的示例代码
2020/07/08 jQuery
js实现简单的点名器随机色实例代码
2020/09/20 Javascript
Python+django实现文件上传
2016/01/17 Python
Python使用内置json模块解析json格式数据的方法
2017/07/20 Python
Python反射的用法实例分析
2018/02/11 Python
Python实现按照指定要求逆序输出一个数字的方法
2018/04/19 Python
python保存网页图片到本地的方法
2018/07/24 Python
pandas 如何分割字符的实现方法
2019/07/29 Python
python并发编程多进程 模拟抢票实现过程
2019/08/20 Python
python爬取代理IP并进行有效的IP测试实现
2020/10/09 Python
Onzie官网:美国时尚瑜伽品牌
2019/08/21 全球购物
自荐信如何“自荐”
2013/10/24 职场文书
护士个人自我鉴定
2014/03/24 职场文书
中学生操行评语大全
2014/04/24 职场文书
教师一帮一活动总结
2014/07/08 职场文书
房产授权委托书范本
2014/09/22 职场文书
2014五年级班主任工作总结
2014/12/05 职场文书
国庆放假通知怎么写
2015/07/30 职场文书
小学班长竞选稿
2015/11/20 职场文书