亚洲乱码中文字幕综合,中国熟女仑乱hd,亚洲精品乱拍国产一区二区三区,一本大道卡一卡二卡三乱码全集资源,又粗又黄又硬又爽的免费视频

js實現(xiàn)滑動觸屏事件監(jiān)聽的方法

 更新時間:2015年05月05日 16:35:03   作者:殘星  
這篇文章主要介紹了js實現(xiàn)滑動觸屏事件監(jiān)聽的方法,適用于手機端觸屏滑動事件的監(jiān)聽技巧,非常具有實用價值,需要的朋友可以參考下

本文實例講述了js實現(xiàn)滑動觸屏事件監(jiān)聽的方法。分享給大家供大家參考。具體實現(xiàn)方法如下:

function span_move_fun(){
 var span = document.getElementById("move_k");
 var span_left = $(span).offset().left;
 var span_top = $(span).offset().top;
 var start_left = $(span).offset().left;
 var start_top = $(span).offset().top;
 span.addEventListener('touchstart', function(event) {
 event.preventDefault();
 if (event.targetTouches.length == 1) {
   var touch = event.targetTouches[0];
   span.style.position = "absolute";
 span_top = $(this).offset().top;
 span_left = $(this).offset().left;
 start_top = touch.pageY
 start_left = touch.pageX
   var left = parseFloat(touch.pageX - start_left + span_left-30);
   var top = parseFloat(touch.pageY - start_top + span_top-73);
 span.style.left = String(left) + 'px';
 span.style.top = String(top) + 'px';
   }
  });
  span.addEventListener('touchmove', function(event) {
 event.preventDefault();
 if (event.targetTouches.length == 1) {
 var touch = event.targetTouches[0];
 span.style.position = "absolute";
 var left = parseFloat(touch.pageX - start_left + span_left-30);
   var top = parseFloat(touch.pageY - start_top + span_top-73);
 span.style.left = String(left) + 'px';
 span.style.top = String(top) + 'px';
 }
 });
  span.addEventListener('touchend', function(event) {
  var touch = event.changedTouches[0];
  if(parseFloat(touch.pageX - start_left + span_left-30) <= -5 || parseFloat(touch.pageX - start_left + span_left-30) >= 620 || parseFloat(touch.pageY - start_top + span_top-73) <= -38 || parseFloat(touch.pageY - start_top + span_top-73) >= 587){
  span.style.left = String(span_left-30) + 'px';
 span.style.top = String(span_top-73) + 'px';
  }
 event.stopPropagation();
 });
}

js的左右滑動觸屏事件,主要有三個事件:touchstart,touchmove,touchend。這三個事件最重要的屬性是 pageX和 pageY,表示X,Y坐標(biāo)。

touchstart在觸摸開始時觸發(fā)事件

touchend在觸摸結(jié)束時觸發(fā)事件

touchmove這個事件比較奇怪,按道理在觸摸到過程中不斷激發(fā)這個事件才對,但是在我的 Android 1.5 中,在 touchstart 激發(fā)后激發(fā)一次,然后剩余的都和 touchend 差不多同時激發(fā)。

這三個事件都都有一個 timeStamp 的屬性,查看 timeStamp 屬性,可以看到順序是 touchstart -> touchmove ->touchmove -> … -> touchmove ->touchend。

下面是一段代碼實例:

document.getElementsByTagName_r('body')[0].addEventListener('touchstart',function(e){
  nStartY = e.targetTouches[0].pageY;
  nStartX = e.targetTouches[0].pageX;
});
document.getElementsByTagName_r('body')[0].addEventListener('touchend',function(e){
  nChangY = e.changedTouches[0].pageY;
  nChangX = e.changedTouches[0].pageX;
});

PS:
1. touch事件跟click事件是不會被同時觸發(fā)的?,F(xiàn)在的移動設(shè)備做的比較好,已經(jīng)把這個問題完美的避免掉了。

2. 注意觸摸的開始和結(jié)束位置的位移大小。如果位移小過小應(yīng)該不做任何動作。

PS:這里再為大家提供一個關(guān)于JS事件的在線工具,歸納總結(jié)了JS常用的事件類型與函數(shù)功能:

javascript事件與功能說明大全:

http://tools.jb51.net/table/javascript_event

希望本文所述對大家的javascript程序設(shè)計有所幫助。

相關(guān)文章

  • ECMAScript中迭代器的深入講解

    ECMAScript中迭代器的深入講解

    在ECMAScript 6增加了一個對象,它不是新的語法或新的內(nèi)置對象,而一種協(xié)議( 迭代器協(xié)議),所有遵守這個協(xié)議的對象,都可以稱之為迭代器,這篇文章主要給大家介紹了關(guān)于ECMAScript中迭代器的相關(guān)資料,需要的朋友可以參考下
    2021-08-08
  • Bootstrap時間選擇器datetimepicker和daterangepicker使用實例解析

    Bootstrap時間選擇器datetimepicker和daterangepicker使用實例解析

    這篇文章主要為大家詳細(xì)解析了Bootstrap時間選擇器datetimepicker和daterangepicker使用實例,具有一定的參考價值,感興趣的小伙伴們可以參考一下
    2016-09-09
  • JavaScript實現(xiàn)網(wǎng)頁購物車

    JavaScript實現(xiàn)網(wǎng)頁購物車

    這篇文章主要為大家詳細(xì)介紹了JavaScript實現(xiàn)網(wǎng)頁購物車,文中示例代碼介紹的非常詳細(xì),具有一定的參考價值,感興趣的小伙伴們可以參考一下
    2022-06-06
  • JS重要知識點小結(jié)

    JS重要知識點小結(jié)

    這里列出了一些JS重要知識點(不全面,但自己感覺很重要)。徹底理解并掌握這些知識點,對于每個想要深入學(xué)習(xí)JS的朋友應(yīng)該都是必須的
    2011-11-11
  • 詳解Bootstrap的aria-label和aria-labelledby應(yīng)用

    詳解Bootstrap的aria-label和aria-labelledby應(yīng)用

    這篇文章主要介紹了詳解Bootstrap的aria-label和aria-labelledby應(yīng)用的相關(guān)資料,需要的朋友可以參考下
    2016-01-01
  • javascript中expression的用法整理

    javascript中expression的用法整理

    在學(xué)習(xí)javaScript, 學(xué)到regular expression的時候見知識點有些雜亂,于是將其整理了一些在本文與大家分享
    2014-05-05
  • JS中如何實現(xiàn)復(fù)選框全選功能

    JS中如何實現(xiàn)復(fù)選框全選功能

    本文通過實例代碼給大家介紹了js中實現(xiàn)復(fù)選框全選功能,代碼簡單易懂,非常不錯,需要的朋友參考下
    2016-12-12
  • H5+C3+JS實現(xiàn)五子棋游戲(AI篇)

    H5+C3+JS實現(xiàn)五子棋游戲(AI篇)

    這篇文章主要為大家詳細(xì)介紹了H5+C3+JS實現(xiàn)五子棋游戲AI篇,文中示例代碼介紹的非常詳細(xì),具有一定的參考價值,感興趣的小伙伴們可以參考一下
    2018-09-09
  • js+html5實現(xiàn)頁面可刷新的倒計時效果

    js+html5實現(xiàn)頁面可刷新的倒計時效果

    這篇文章主要為大家詳細(xì)介紹了js+html5實現(xiàn)頁面可刷新的倒計時效果,具有一定的參考價值,感興趣的小伙伴們可以參考一下
    2017-07-07
  • 深入理解js數(shù)組的sort排序

    深入理解js數(shù)組的sort排序

    下面小編就為大家?guī)硪黄钊肜斫鈐s數(shù)組的sort排序。小編覺得挺不錯的,現(xiàn)在就分享給大家,也給大家做個參考。一起跟隨小編過來看看吧
    2016-05-05

最新評論