亚洲免费乱码视频,日韩 欧美 国产 动漫 一区,97在线观看免费视频播国产,中文字幕亚洲图片

      1. <legend id="ppnor"></legend>

      2. 
        
        <sup id="ppnor"><input id="ppnor"></input></sup>
        <s id="ppnor"></s>

        Javascript實(shí)現(xiàn)蘋果懸浮虛擬按鈕

        字號:


            本文給大家分享的是使用javascript實(shí)現(xiàn)仿制蘋果的懸浮虛擬按鈕的代碼,非常的簡單,給大家一個(gè)思路,大家可以根據(jù)自己的情況自由擴(kuò)展。
            直接引入代碼到頁面即可
            代碼有部分冗余的地方,有興趣的小伙伴可也自己修改
            如果有什么BUG 記得評論 告訴我哦
            web-touch.js
            var new_element_N=document.createElement("style"); 
              new_element_N.innerHTML = '#drager {' +
                '   position: fixed;' +
                '   width: 35px;' +
                '   height: 35px;' +
                '   background-color: rgba(0, 0, 0, 0.2);' +
                '   z-index: 10000;' +
                '   cursor: pointer;' +
                '   top: 0px;' +
                '   left: 0px;' +
                '   border-radius: 30%;' +
                '   padding: 6px;' +
                ' }' +
                ' ' +
                ' #drager>div {' +
                '   border-radius: 50%;' +
                '   width: 100%;' +
                '   height: 100%;' +
                '   background-color: rgba(0, 0, 0, 0.3);' +
                '   transition: all 0.2s;' +
                '  -webkit-transition: all 0.2s;' +
                '  -moz-transition: all 0.2s;' +
                '  -o-transition: all 0.2s;' +
                ' }' +
                ' #drager:hover>div{' +
                '   background-color: rgba(0, 0, 0, 0.6);' +
                ' } ';
              document.body.appendChild(new_element_N);
              new_element_N=document.createElement('div'); 
              new_element_N.setAttribute("id","drager");
              new_element_N.style.top="100px";
              new_element_N.style.left="100px";
              new_element_N.innerHTML = ' <div></div>' ;
              document.body.appendChild(new_element_N);
              // 
              // 
                var posX;
                var posY;   
                var screenWidth =document.documentElement.clientWidth;
                var screenHeight = document.documentElement.clientHeight;  
                var fdiv = document.getElementById("drager"); 
                fdiv.onmousedown=function(e)
                { 
                  screenWidth =document.documentElement.clientWidth;
                  screenHeight = document.documentElement.clientHeight;  
                  if(!e){ e = window.event; } //IE
                  posX = e.clientX - parseInt(fdiv.style.left);
                  posY = e.clientY - parseInt(fdiv.style.top);
                  document.onmousemove = mousemove;      
                }
                document.onmouseup = function()//釋放時(shí)自動貼到最近位置
                {
                  document.onmousemove = null;
                  if((parseInt(fdiv.style.top)+parseInt(fdiv.clientHeight)/2)<=(screenHeight/2)){//在上半部分
                    if((parseInt(fdiv.style.left)+parseInt(fdiv.clientWidth)/2)<=(screenWidth/2)){//在左半部分
                      if((parseInt(fdiv.style.top)+parseInt(fdiv.clientHeight)/2)<=(parseInt(fdiv.style.left)+parseInt(fdiv.clientWidth)/2)){//靠近上方
                        fdiv.style.top="0px";
                      }else{//靠近左邊
                        fdiv.style.left="0px";
                      }
                    }else{//在右半部分
                      if((parseInt(fdiv.style.top)+parseInt(fdiv.clientHeight)/2)<=(screenWidth-(parseInt(fdiv.style.left)+parseInt(fdiv.clientWidth)/2)) ){//靠近上方
                        fdiv.style.top="0px";
                      }else{//靠近右邊
                        fdiv.style.left=(screenWidth-parseInt(fdiv.clientWidth))+"px";
                      } 
                    }
                  }else{ //下半部分
                     if((parseInt(fdiv.style.left)+parseInt(fdiv.clientWidth)/2)<=(screenWidth/2)){//在左半部分
                      if( (screenHeight-(parseInt(fdiv.style.top)+parseInt(fdiv.clientHeight)/2))<=(parseInt(fdiv.style.left)+parseInt(fdiv.clientWidth)/2)){//靠近下方
                        fdiv.style.top=(screenHeight-parseInt(fdiv.clientHeight))+"px";
                      }else{//靠近左邊
                        fdiv.style.left="0px";
                      }
                    }else{//在右半部分
                      if( (screenHeight-(parseInt(fdiv.style.top)+parseInt(fdiv.clientHeight)/2))<=(screenWidth-(parseInt(fdiv.style.left)+parseInt(fdiv.clientWidth)/2)) ){//靠近上方
                        fdiv.style.top=(screenHeight-parseInt(fdiv.clientHeight))+"px";
                      }else{//靠近右邊
                        fdiv.style.left=(screenWidth-parseInt(fdiv.clientWidth))+"px";
                      } 
                    }
                  } 
                }
                function mousemove(ev)
                {
                  if(ev==null){ ev = window.event;}//IE
                  if((ev.clientY - posY)<=0){//超過頂部
                     fdiv.style.top="0px";
                  }else if((ev.clientY - posY) >(screenHeight-parseInt(fdiv.clientHeight))){//超過底部
                    fdiv.style.top=(screenHeight-parseInt(fdiv.clientHeight))+"px";
                  }else{
                    fdiv.style.top = (ev.clientY - posY) + "px";
                  }
                   if((ev.clientX- posX)<=0){//超過左邊
                     fdiv.style.left="0px";
                  }else if((ev.clientX - posX) >(screenWidth-parseInt(fdiv.clientWidth))){//超過右邊
                    fdiv.style.left=(screenWidth-parseInt(fdiv.clientWidth))+"px";
                  }else{
                    fdiv.style.left = (ev.clientX - posX) + "px";
                  }
                  // console.log( posX +" "+ fdiv.style.left);
                }
                window.onload = window.onresize = function() { //窗口大小改變事件
                  screenWidth =document.documentElement.clientWidth;
                  screenHeight = document.documentElement.clientHeight;  
                  if( (parseInt(fdiv.style.top)+parseInt(fdiv.clientHeight))>screenHeight){//窗口改變適應(yīng)超出的部分
                     fdiv.style.top=(screenHeight-parseInt(fdiv.clientHeight))+"px";
                  }  
                  if( (parseInt(fdiv.style.left)+parseInt(fdiv.clientWidth))>screenWidth){//窗口改變適應(yīng)超出的部分
                     fdiv.style.left=(screenWidth-parseInt(fdiv.clientWidth))+"px";
                  }  
                  document.onmouseup.apply()
                };
                fdiv.addEventListener('touchstart', fdiv.onmousedown, false);  
                fdiv.addEventListener('touchmove', function(event) {
                        // 如果這個(gè)元素的位置內(nèi)只有一個(gè)手指的話
                        if (event.targetTouches.length == 1) {
                           event.preventDefault();// 阻止瀏覽器默認(rèn)事件,重要 
                          var touch = event.targetTouches[0]; 
                          if((touch.pageY)<=0){//超過頂部
                            fdiv.style.top="0px";
                          }else if(touch.pageY>(screenHeight-parseInt(fdiv.clientHeight))){//超過底部
                            fdiv.style.top=(screenHeight-parseInt(fdiv.clientHeight))+"px";
                          }else{
                            fdiv.style.top = (touch.pageY-parseInt(fdiv.clientHeight)/2) + "px";
                          }
                          if(touch.pageX<=0){//超過左邊
                            fdiv.style.left="0px";
                          }else if( touch.pageX >(screenWidth-parseInt(fdiv.clientWidth))){//超過右邊
                            fdiv.style.left=(screenWidth-parseInt(fdiv.clientWidth))+"px";
                          }else{
                            fdiv.style.left = (touch.pageX-parseInt(fdiv.clientWidth)/2) + "px";
                          }
                        }
                      }, false); 
                fdiv.addEventListener('touchend', document.onmouseup , false);       
                fdiv.ondblclick=function(){//雙擊事件可能在手機(jī)端瀏覽器會與網(wǎng)頁縮放事件沖突
                  alert("發(fā)揮你們的想象力吧");
                }
            html
            <!doctype html>
            <html >
            <head>
              <meta charset="UTF-8">
              <title>Document</title>
            </head>
            <body>
            </body>
            <script src="web-touch.js" type="text/javascript"></script>
            </html>
            演示圖
            名單