이동단 드래그

2333 단어
먼저 html,body {height: 100%;width:100%;}
var maxW = document.body.clientWidth-$(".j-btn-nav").width();
    var maxH = document.body.clientHeight-$(".j-btn-nav").height();
    //  
    $(".j-btn-nav").on("touchstart",function(e){
        if($(this).attr("data-id") == 1){
            var ev = e || window.event;
            var touch = ev.targetTouches[0];
            oL = touch.clientX - $(this).offset().left;
            //   clientX     top , pageY  oT 
            oT = touch.pageY - $(this).offset().top; 
        }else{
            return;
        }
    });
    //  
    $(".j-btn-nav").on("touchmove",function(e){
        e.preventDefault();// , 
        if($(this).attr("data-id")==1){
               var ev = e || window.event;
               var touch = ev.targetTouches[0];
               var oLeft = touch.clientX - oL;
               var oTop = touch.clientY - oT;
               //    
               if(oLeft<0){
                   oLeft=0;
               }else if (oLeft>=maxW) {
                   oLeft=maxW;
               }
               //      
               if(oTop<0){
                   oTop=0;
               }else if (oTop>=maxH){ //  
                   oTop=maxH;
               }
               //  
                $(this).css({
                    "left": oLeft,
                    "top": oTop
               });
        }else{
            return ;
        }
    });
    //  
    $(".j-btn-nav").on("touchend",function(e){
        //  
        if($(this).offset().left == 0){
            $(this).addClass("cur").animate({"left": "-2.6rem"})
        }else if($(this).offset().left == maxW){
            $(this).addClass("cur").animate({"left":"25rem"})
        }
        //  
        if($(this).offset().top == 0){
            //$(this).addClass("cur").animate({"top": "-2.6rem"})
        }else if($(this).offset().top == maxH){
            //$(this).addClass("cur").animate({"top": "38rem"})
        }
    });


안에서 나는 상태를 통해 내비게이션이 접히는지 안 접히는지 판단하고 싶어서 끌 수 있다.마지막으로 판단 상태는 사건 밖에서 판단할 수 없다는 것을 발견했다. 왜냐하면 밖에서 한 번만 판단하고 사건 안에 넣어야만 계속 판단하고 효력이 발생하기 때문이다.

좋은 웹페이지 즐겨찾기