美文网首页
移动端可随手指移动的导航球

移动端可随手指移动的导航球

作者: 托天王的塔 | 来源:发表于2018-09-25 17:06 被阅读0次

$(function(){

   var flag =0; //标记是拖曳还是点击

    var oDiv =document.getElementById("assistiveTouch");

    var disX,disY, moveX,moveY, L, T, starX, starY, starXEnd, starYEnd;

    oDiv.addEventListener("touchstart", function(e) {

     flag =0;

        e.preventDefault(); //阻止触摸时页面的滚动,缩放

        disX = e.touches[0].clientX -this.offsetLeft;

        disY = e.touches[0].clientY -this.offsetTop;

        //手指按下时的坐标

        starX = e.touches[0].clientX;

        starY = e.touches[0].clientY;

    });

    oDiv.addEventListener("touchmove", function(e) {

L = e.touches[0].clientX - disX;

        T = e.touches[0].clientY - disY;

        //移动时 当前位置与起始位置之间的差值

        starXEnd = e.touches[0].clientX - starX;

        starYEnd = e.touches[0].clientY - starY;

        if((starXEnd >10 || starXEnd < -10) || (starYEnd >10 || starYEnd < -10)){

flag =1;

        }

if (L <0) {//限制拖拽的X范围,不能拖出屏幕

            L =0;

        }else if (L >document.documentElement.clientWidth -this.offsetWidth) {

L =document.documentElement.clientWidth -this.offsetWidth;

        }

if (T <0) {//限制拖拽的Y范围,不能拖出屏幕

            T =0;

        }else if (T >document.documentElement.clientHeight -this.offsetHeight) {

T =document.documentElement.clientHeight -this.offsetHeight;

        }

moveX = L +"px";

        moveY = T +"px";

        this.style.left = moveX;

        this.style.top = moveY;

    });

    oDiv.addEventListener("touchend", function(e) {

//判断滑动方向

        if (flag ===0) {//点击

            sHide();

        }

});

    function sHide() {

$('#maskdiv').show();

        $('.navigation').show();

        $('#assistiveTouch').hide();

    };

});

相关文章

  • 移动端可随手指移动的导航球

    $(function(){ var flag =0; //标记是拖曳还是点击 var oDiv =docum...

  • 移动端和pc端的拖拽事件

    pc端拖拽事件 移动端的拖拽事件 移动端的拖拽事件的思路是当手指点下记录手指的坐标和box的位置。当手指移动的时候...

  • 笔记 || 移动端事件(touch)

    移动端三个事件: touchstart——手指按下; touchmove——手指移动; touchend——手指松...

  • 深入理解Flutter的Listener组件

    引言 有过移动端开发经验的同学都知道,移动端的触摸事件是由手指按下、手指移动、手指抬起这些基本事件组成的。 在Fl...

  • 移动端事件

    移动端的常见事件 touchstart 手指按下时触发touchmove 手指移动touchend 手指抬起 p...

  • 移动端导航

    导航是任何应用程序的支柱。其目的是让用户以尽可能少的摩擦到达他们想去的地方。 移动导航必须是可发现的、可访问的并且...

  • 10-jQuery04

    移动端js事件 移动端的操作方式和PC端是不同的,移动端主要用于手指操作,所以有特殊的touch事件,touch事...

  • 鼠标控制旋转

    鼠标在PC端移动,实现对象的旋转;手指在安卓端移动,实现对象的旋转。

  • 移动端js事件以及相关库

    移动端js事件 移动端的操作方式和PC端是不同的,移动端主要用手指操作,所以有特殊的touch事件,touch事件...

  • 移动端js事件09-21

    移动端js事件 移动端的操作方式和PC端是不同的,移动端主要用手指操作,所以有特殊的touch事件,touch事件...

网友评论

      本文标题:移动端可随手指移动的导航球

      本文链接:https://www.haomeiwen.com/subject/vlmloftx.html