Chinaunix首页 | 论坛 | 博客
  • 博客访问: 153709
  • 博文数量: 42
  • 博客积分: 0
  • 博客等级: 民兵
  • 技术积分: 399
  • 用 户 组: 普通用户
  • 注册时间: 2015-09-23 11:47
个人简介

程序猿啊程序猿

文章分类

全部博文(42)

文章存档

2016年(28)

2015年(14)

我的朋友

分类: JavaScript

2016-05-16 16:07:36


点击(此处)折叠或打开

  1. <!doctype html>
  2. <html lang="en">
  3. <head>
  4.     <meta charset="UTF-8">
  5.     <meta name="viewport" content="width=device-width, initial-scale=1.0, minimum-scale=1.0, maximum-scale=1.0, user-scalable=no">
  6.     <style>
  7.     *{
  8.         margin:0;
  9.         padding:0;
  10.     }
  11.       .test_img{
  12.           position: relative;
  13.           /*position: absolute;*/
  14.       }
  15.     </style>
  16.     <title>Document</title>
  17. </head>
  18. <body>
  19.     <img src="weight1.png" alt="" class="test_img">
  20.     <p id="touch_tips"><p>
  21.     <script>
  22.         JS原生获得手机端手机触摸点坐标并移动图片 方法一
  23.         window.onload=function(){
  24.             var img_move=document.getElementsByClassName('test_img')[0];//获得元素DOM
  25.             var Xstart=0,Ystart=0,Xmove=0,Ymove=0,top=0,left=0;    //定义变量
  26.             img_move.ontouchstart=function(e){
  27.                 var e=e||window.event;
  28.                 Xstart=e.touches[0].clientX;//获得触屏点横坐标
  29.                 Ystart=e.touches[0].clientY;//获得触屏点纵坐标
  30.                 //alert(e.touches.length) 获得当前屏幕上所有手指列表
  31.             }
  32.          img_move.ontouchmove=function(e){
  33.              var e=e||window.event;
  34.              event.preventDefault();//阻止页面滑动
  35.              Xmove=e.changedTouches[0].clientX;//获得滑动时的触点横坐标
  36.              Ymove=e.changedTouches[0].clientY;//获得滑动时的触点纵坐标
  37.              img_move.style.top=top+Ymove-Ystart+"px";//对图片的下一次滑动操作时的定位
  38.              img_move.style.left=left+Xmove-Xstart+"px";
  39.          }
  40.          img_move.ontouchend=function(){
  41.          top=parseInt(img_move.style.top);//获得上一次滑动结束后的图片坐标
  42.          left=parseInt(img_move.style.left);    
  43.          }
  44.         }
  45.     
  46.     </script>
  47. </body>
  48. </html>


点击(此处)折叠或打开

  1. <!doctype html>
  2. <html lang="en">
  3. <head>
  4.     <meta charset="UTF-8">
  5.     <meta name="viewport" content="width=device-width, initial-scale=1.0, minimum-scale=1.0, maximum-scale=1.0, user-scalable=no">
  6.     <style>
  7.     *{
  8.         margin:0;
  9.         padding:0;
  10.     }
  11.       .test_img{
  12.           position: relative;
  13.           /*position: absolute;*/
  14.       }
  15.     </style>
  16.     <title>Document</title>
  17. </head>
  18. <body>
  19.     <img src="weight1.png" alt="" class="test_img">
  20.     <p id="touch_tips"><p>
  21.     <script>
  22.      // JS原生获得手机端手机触摸点坐标并移动图片 方法二
  23.      function handleTouchEvent(event) {
  24.         var output = document.getElementById("output");
  25.         switch (event.type) {
  26.             case "touchstart":
  27.                    var e=e||window.event;
  28.                    Xstart=e.touches[0].clientX;
  29.                    Ystart=e.touches[0].clientY;
  30.             break;
  31.             case "touchend":
  32.                   top=parseInt(img_move.style.top);
  33.                   left=parseInt(img_move.style.left);
  34.             break;
  35.             case "touchmove":
  36.                   var e=e||window.event;
  37.                  event.preventDefault();//阻止页面滚动
  38.                  Xmove=e.changedTouches[0].clientX;
  39.                  Ymove=e.changedTouches[0].clientY;
  40.                  img_move.style.top=top+Ymove-Ystart+"px";
  41.                  img_move.style.left=left+Xmove-Xstart+"px";
  42.             break;
  43.         }
  44.      }
  45.      var img_move=document.getElementsByClassName('test_img')[0];
  46.      var Xstart=0,Ystart=0,Xmove=0,Ymove=0,top=0,left=0;
  47.     document.addEventListener("touchstart", handleTouchEvent, false);
  48.     document.addEventListener("touchend", handleTouchEvent, false);
  49.     document.addEventListener("touchmove", handleTouchEvent, false);
  50.     
  51.     </script>
  52. </body>
  53. </html>
PS:jquery 手机触屏事件如下:

点击(此处)折叠或打开

  1. $(function(){
  2.         $('.test_img').bind({
  3.      'touchstart' : function(){
  4.      $('#touch_tips').text('按下或触摸');
  5.             },
  6.          'touchmove' : function(e){
  7.          var e=e||window.event;
  8.          $('#touch_tips').text('滑动');
  9.          },
  10.          'touchend' : function(){
  11.          $('#touch_tips').text('松开');
  12.          }
  13.         })
  14.     })

阅读(1731) | 评论(0) | 转发(0) |
给主人留下些什么吧!~~