繁体   English   中英

需要帮助以使用javascript添加滑动功能

[英]Need help to add swipe functionality using javascript

我正在尝试查看是否可以仅使用Javascript将移动设备的滑动功能添加到网站。

这是我的代码...

<!DOCTYPE html>
<html lang="en">
<script>

var x1;
var y1;
var x2;
var y2;

document.addEventListener('touchstart', function(e){
  x1 = e.changedTouches[0].pageX;
  y1 = e.changedTouches[0].pageY;
});

document.addEventListener('touchend', function(e){
  x2 = e.changedTouches[0].pageX;
  y2 = e.changedTouches[0].pageY;
  if(y1 > y2){
    alert("up");
  }else{
    alert("down");
  }
});

</script>
</html>

因此该代码可以正常工作,并且可以分辨出上下滑动之间的区别,但是我的问题是,如果我将此代码添加到自己的网站中,那么除了运行此代码外,我什么也不能做。 因此,例如,如果我尝试触摸一个按钮,它将无法正常工作,并且屏幕将仅警告“向上”或“向下”。 当我从页脚向上或向下滑动以扩展它时,我只想运行此代码。

我尝试更换

document.addEventListener('touchstart', function(e){

document.getElementById("footer").addEventListener('touchstart', function(e){

但是那没有用吗?

任何帮助将不胜感激

HTML:
<!DOCTYPE html>
<html>
<head>
  <title>Share QR</title>
    <meta name="viewport" content="width=device-width,height=device-height,minimum-scale=1,maximum-scale=1"/>
        <link rel="stylesheet" href="http://code.jquery.com/mobile/1.4.2/jquery.mobile-1.4.2.min.css" /> 
        <script src="http://code.jquery.com/jquery-1.10.1.min.js"></script>
        <script src="http://code.jquery.com/mobile/1.4.2/jquery.mobile-1.4.2.min.js"></script>
</head>

<body>
  <div data-role="page" id="article1">
    <div data-role="header" data-theme="b" data-position="fixed" data-id="footer">
      <h1>Articles</h1>
    </div>
    <div data-role="content">
      <p>Article 1</p>
    </div>
  </div>

  <div data-role="page" id="article2">
    <div data-role="header" data-theme="b" data-position="fixed" data-id="footer">
      <a href="#article1" data-icon="home" data-iconpos="notext">Home</a>
      <h1>Articles</h1>
    </div>
    <div data-role="content">
      <p>Article 2</p>
    </div>
  </div>

  <div data-role="page" id="article3">
    <div data-role="header" data-theme="b" data-position="fixed" data-id="footer">
      <a href="#article1" data-icon="home" data-iconpos="notext">Home</a>
      <h1>Articles</h1>
    </div>
    <div data-role="content">
      <p>Article 3</p>
    </div>
    </div>

</body>
</html>

JavaScript:

$(document).on('swipeleft', '.ui-page', function(event){    
    if(event.handled !== true) // This will prevent event triggering more then once
    {    
        var nextpage = $.mobile.activePage.next('[data-role="page"]');
        // swipe using id of next page if exists
        if (nextpage.length > 0) {
            $.mobile.changePage(nextpage, {transition: "slide", reverse: false}, true, true);
        }
        event.handled = true;
    }
    return false;         
});

$(document).on('swiperight', '.ui-page', function(event){     
    if(event.handled !== true) // This will prevent event triggering more then once
    {      
        var prevpage = $(this).prev('[data-role="page"]');
        if (prevpage.length > 0) {
            $.mobile.changePage(prevpage, {transition: "slide", reverse: true}, true, true);
        }
        event.handled = true;
    }
    return false;            
});

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM