国产探花免费观看_亚洲丰满少妇自慰呻吟_97日韩有码在线_资源在线日韩欧美_一区二区精品毛片,辰东完美世界有声小说,欢乐颂第一季,yy玄幻小说排行榜完本

首頁(yè) > 編程 > JavaScript > 正文

javascript 實(shí)現(xiàn) 原路返回

2019-11-20 13:20:46
字體:
來(lái)源:轉(zhuǎn)載
供稿:網(wǎng)友

css代碼

復(fù)制代碼 代碼如下:

<style type="text/css">
        * {
            margin: 0px;
            padding: 0px;
            font-family: "micsoft yahei","微軟雅黑";
            font-size: 15px;
        }
        div{
            width: 50px;
            height: 50px;
            background: #f00;
            border-radius:5px ;
            -moz-border-radius: 5px;
            -webkit-border-radius: 5px;
            cursor: pointer;
            position:  absolute;
            top: 60px;
            left: 30px;
        }
        input{
            position: absolute;
            top: 10px;
            left: 10px;
            padding: 3px;
            cursor: pointer;
        }
    </style>

html代碼

復(fù)制代碼 代碼如下:

 <body>
 <input type="button" value="原路返回"/>
 <div></div>
 </body>

javascript代碼

復(fù)制代碼 代碼如下:

<script type="text/javascript">
          //1、以鼠標(biāo)在div上點(diǎn)擊觸發(fā)為開(kāi)始
          //2、點(diǎn)擊鼠標(biāo)移動(dòng)時(shí)觸發(fā)鼠標(biāo)移動(dòng)事件 向數(shù)組內(nèi)注入數(shù)據(jù)(移動(dòng)的坐標(biāo))
          //3、以鼠標(biāo)從div上移開(kāi)為結(jié)束
          //4、點(diǎn)擊“原路返回”按鈕遍歷數(shù)組(移動(dòng)的坐標(biāo)) 定時(shí)觸發(fā)數(shù)組內(nèi)的坐標(biāo)移動(dòng)div 達(dá)到”返回“的功能
            window.onload=function(){
                var oDiv=document.getElementsByTagName("div")[0];
                var oBtn=document.getElementsByTagName("input")[0];
                var time=null,arrTop=[],arrLeft=[];
                oDiv.onmousedown=function(ev){
                    var event=ev || window.event;
                    //獲取鼠標(biāo)在div內(nèi)的坐標(biāo)
                    var disX=event.clientX-oDiv.offsetLeft;
                    var disY=event.clientY-oDiv.offsetTop;
                    arrTop=[60];
                    arrLeft=[30];
                    document.onmousemove=function(ev){
                        var event=ev || window.event;
                        //獲取拖拽后鼠標(biāo)的位置
                        var l=event.clientX;
                        var t=event.clientY;
                        //把拖拽后的位置存進(jìn)數(shù)組里面,用拖拽后鼠標(biāo)的位置減去鼠標(biāo)在物體上的位置,就是拖拽后物體的位置
                        arrLeft.push(l-disX);
                        arrTop.push(t-disY);
                        oDiv.style.left=l-disX +"px";
                        oDiv.style.top=t-disY +"px";
                    };
                    document.onmouseup=function(){
                        document.onmousemove=null;
                        document.onmouseup=null;
                    };
                    return false;
                }
                //原路返回的核心就是把移動(dòng)時(shí)的坐標(biāo)記錄下來(lái),然后進(jìn)行數(shù)組重排,并設(shè)定定時(shí)器把數(shù)組內(nèi)的搞寬賦值給物體。
                oBtn.onclick=function(){
                    arrTop.reverse();//重排
                    arrLeft.reverse();//重排
                    var i=0;
                    oBtn.time=setInterval(function(){
                        oDiv.style.top=arrTop[i]+"px";
                        oDiv.style.left=arrLeft[i]+"px";
                        i++;
                        if(i==arrTop.length){
                            clearInterval(oBtn.time);
                            arrTop=[];
                            arrLeft=[];
                        }
                    },20);
                }
            }
    </script>

發(fā)表評(píng)論 共有條評(píng)論
用戶(hù)名: 密碼:
驗(yàn)證碼: 匿名發(fā)表
主站蜘蛛池模板: 扶沟县| 巴林左旗| 镇安县| 鹤岗市| 社旗县| 江西省| 藁城市| 当涂县| 曲靖市| 乌海市| 涿鹿县| 中超| 威宁| 鹤岗市| 阿克苏市| 大石桥市| 章丘市| 翼城县| 桑植县| 商南县| 镇沅| 博罗县| 禄丰县| 甘南县| 内江市| 辽源市| 巴东县| 平顶山市| 新巴尔虎左旗| 黄石市| 铜山县| 凉山| 剑河县| 富宁县| 海门市| 云霄县| 韶山市| 红原县| 洛阳市| 阳朔县| 禹城市|