js实现360度图片旋转

▓▓▓▓▓▓ 大致介绍

这次是一个简单的效果,就是思路的问题

效果:

js实现360度图片旋转

▓▓▓▓▓▓ 思路

旋转的效果就是根据鼠标的的移动距离来显示不同的图片,形成视觉差,仿佛就是在正真的旋转

由于效果是根据鼠标的移动距离来操作的,即移动的像素值。如果按照默认的情况,移动鼠标的时候图片就旋转的太快了,所以我们要给鼠标移动的距离处以15,降低图片的旋转速度。

1 var l = parseInt(-x/15);

有一个问题是在鼠标向左移动的时候,移动的距离是负的。要想正确的显示图片,就要对负值进行处理。例如-1,图片要显示最后一张即72张(图片一共有72张)。-100时要显示第44张图片,但是由于图片的命名是从1开始的,而不是从0开始的,所以要在最后加1

1 var l = parseInt(-x/15);
2 
3 if(l > 0){
4 l = l%72+1;
5 }else{
6 l = (l + -72*(Math.floor(l/72))) + 1;
7 }

▓▓▓▓▓▓ 代码

 1     <style>
 2     html,body {height:100%;}
 3     body {margin:0;}
 4     img{
 5         width: 640px;
 6         height: 378px;
 7         position: absolute;
 8         left: 50%
 9         top: 50%;
10         margin-top:120px; 
11         margin-left:320px;
12     }
13 
14     </style>
15     <script>
16     window.onload = function{
17 
18         var x = 0;
19         var oImg = document.getElementById('img1');
20 
21 
22         document.onmousedown = function(ev){
23 
24 var  ev = ev || enent;
25 var disX = ev.clientX - x;
26 
27 document.onmousemove = function(ev){
28 var ev = ev || event;
29 x = ev.clientX - disX;
30 
31 var l = parseInt(-x/15);
32 
33 if(l > 0){
34 l = l%72+1;
35 }else{
36 l = (l + -72*(Math.floor(l/72))) + 1;
37  }
38 
39 oImg.src = "img/Seq_v04_640x378_"+ l +".jpg"
40 
41 return false;
42  };
43 
44 document.onmouseup = function{
45 document.onmouseup = null;
46 document.onmousemove = null;
47  }
48 
49 return false;
50         }
51 
52     }
53     </script>
54 </head>
55 <body>
56 <div class="img_wrap">
57     <img id="img1" src="img/Seq_v04_640x378_1.jpg" > 
58 </div>
59 </body>
  • 0
    点赞
  • 4
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值