亚洲在线久爱草,狠狠天天香蕉网,天天搞日日干久草,伊人亚洲日本欧美

為了賬號安全,請及時綁定郵箱和手機立即綁定
已解決430363個問題,去搜搜看,總會有你想問的

關于這行代碼的解釋?誰幫幫我啊。在下跪求

關于這行代碼的解釋?誰幫幫我啊。在下跪求

慕粉3686312 2016-11-29 21:02:30
<!doctype?html> <html> <head> <meta?charset="utf-8"> <title>無標題文檔</title> </head> <body> </body> </html> <!DOCTYPE?html?PUBLIC?"-//W3C//DTD?XHTML?1.0?Transitional//EN"?"http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd"> <html?xmlns="http://www.w3.org/1999/xhtml"> <head> <meta?http-equiv="Content-Type"?content="text/html;?charset=utf-8"?/> <title>移動效果(按軌跡移動)</title> <style?type="text/css"> body,div{margin:0;padding:0;} div{position:absolute;width:66px;height:45px;background:url(img/1.gif)?no-repeat;top:100px;left:50px;} p,input{margin:10px;} </style> <script?type="text/javascript"> window.onload?=?function?() { ????var?oDiv?=?document.getElementsByTagName("div")[0]; ????var?aInput?=?document.getElementsByTagName("input"); ????var?oP?=?document.getElementsByTagName("p")[0]; ????var?i?=?0; ???? ????aInput[0].onclick?=?function?(event) ????{???????? ????????(event?||?window.event).cancelBubble?=?true; ????????clearEvent(); ????????this.value?+=?"(已激活)"; ????????oP.innerHTML?=?"鼠標點擊頁面,?人物將移動至鼠標位置!"; ????????document.onclick?=?function?(event) ????????{ ????????????var?event?=?event?||?window.event; ????????????oDiv.style.background?=?"url(img/2.gif)?no-repeat"; ????????????startMove(oDiv,?{x:event.clientX,?y:event.clientY},?function(){oDiv.style.background?=?"url(img/1.gif)?no-repeat"}); ????????????return?false; ????????}???? ????}; ???? ????aInput[1].onclick?=?function?(event) ????{???????? ????????(event?||?window.event).cancelBubble?=?true; ????????clearEvent(); ????????this.value?+=?"(已激活)"; ????????oP.innerHTML?=?"按住鼠標左鍵,在頁面劃動,人物將按照鼠標軌跡移動。" ????????var?aPos?=?[{x:oDiv.offsetLeft,?y:oDiv.offsetTop}]; ????????document.onmousedown?=?function?(event) ????????{ ????????????var?event?=?event?||?window.event;???????????? ????????????aPos.push({x:event.clientX,?y:event.clientY}); ????????????document.onmousemove?=?function?(event) ????????????{ ????????????????var?event?=?event?||?window.event; ????????????????aPos.push({x:event.clientX,?y:event.clientY});???? ????????????????return?false; ????????????} ????????????return?false; ????????} ????????document.onmouseup?=?function?() ????????{ ????????????document.onmousemove?=?null; ????????????oDiv.style.background?=?"url(img/2.gif)?no-repeat";???????? ????????????var?timer?=?setInterval(function?() ????????????{ ????????????????if(aPos.length?==?0) ????????????????{ ????????????????????clearInterval(timer); ????????????????????oDiv.style.background?=?"url(img/1.gif)?no-repeat"; ????????????????????return;???? ????????????????}; ????????????????oDiv.style.left?=?aPos[0].x?+?"px"; ????????????????oDiv.style.top?=?aPos[0].y?+?"px"; ????????????????aPos.shift(); ????????????},?30); ????????}; ????} ???? ????function?clearEvent() ????{ ????????document.onclick?=?null; ????????document.onmousedown?=?null; ????????document.onmousemove?=?null; ????????document.onmouseup?=?null; ????????for?(i?=?0;?i?<?aInput.length;?i++) ????????{ ????????????aInput[i].value?=?aInput[i].value.replace("(已激活)",?""); ????????????aInput[i].onmousedown?=?aInput[i].onmouseup?=?function?(event) ????????????{ ????????????????(event?||?window.event).cancelBubble?=?true;???? ????????????}; ????????} ????} }; function?startMove(obj,?oTarget,?fnEnd) { ????clearInterval(obj.timer); ????obj.timer?=?setInterval(function?() ????{ ????????doMove(obj,?oTarget,?fnEnd)???? ????},?30)???? } function?doMove(obj,?oTarget,?fnEnd) { ????var?iX?=?(oTarget.x?-?obj.offsetLeft)?/?5; ????var?iY?=?(oTarget.y?-?obj.offsetTop)?/?5; ????iX?=?iX?>?0???Math.ceil(iX)?:?Math.floor(iX); ????iY?=?iY?>?0???Math.ceil(iY)?:?Math.floor(iY); ????if?(oTarget.x?==?obj.offsetLeft?&&?oTarget.y?==?obj.offsetTop) ????{ ????????clearInterval(obj.timer); ????????fnEnd?&&?fnEnd();???? ????} ????else ????{ ????????obj.style.left?=?obj.offsetLeft?+?iX?+?"px"; ????????obj.style.top?=?obj.offsetTop?+?iY?+?"px";???? ????} } </script> </head> <body> <input?type="button"?value="根據鼠標點擊位置移動"?/><input?type="button"?value="根據標鼠標軌跡移動"?/> <p>請點擊按鈕激活功能!</p> <div></div> </body> </html>var?aPos?=?[{x:oDiv.offsetLeft,?y:oDiv.offsetTop}]這個數組嘛?這行代碼與aPos.push({x:event.clientX,?y:event.clientY});之間是什么關系 或者是怎么運行的呢?有什么作用啊 還有就是????????oDiv.style.left?=?aPos[0].x?+?"px"; ????????????????oDiv.style.top?=?aPos[0].y?+?"px"; 這兩行代碼是怎么運行的?這個x,y表示的是數值嘛?求解答
查看完整描述

1 回答

?
一毛錢

TA貢獻156條經驗 獲得超57個贊

這個是數組,aPos是定義了一個數組

aPos.push()是向數組中添加元素

他們之間的關系是一個是定義數組,一個數組的方法(添加數組元素)

XY 指的是偏移XY軸的值

查看完整回答
反對 回復 2016-11-29
  • 慕粉3686312
    慕粉3686312
    var aPos = [{x:oDiv.offsetLeft, y:oDiv.offsetTop}]這個{}里面表示的是一個數值呢,還是x,y分開數值呢? aPos[0].x這個是怎么取值的呢?取的是第一個數值, aPos[0].x=oDiv,offsetLeft???是不是這樣理解的呢?
  • 一毛錢
    一毛錢
    你應該看看面向對象編程{}里面是一個對象。對象里面有兩個成員變量,這兩個的名字是XY,X的值是oDiv.offsetLeft Y的值是oDiv.offsetTop,怎么說呢{}就相當于一個家,xy就相當于你和你弟弟,后面的值就相當于你的年齡
  • 慕粉3686312
    慕粉3686312
    那請問有沒有關于這方面的參考書或者教程???
  • 1 回答
  • 0 關注
  • 1456 瀏覽
慕課專欄
更多

添加回答

舉報

0/150
提交
取消
微信客服

購課補貼
聯系客服咨詢優惠詳情

幫助反饋 APP下載

慕課網APP
您的移動學習伙伴

公眾號

掃描二維碼
關注慕課網微信公眾號