javascript - 關(guān)于trasform后的坐標(biāo)計(jì)算的問題
問題描述
我在做了一個(gè)圖片在父容器內(nèi)拖動(dòng)的功能后,將父容器用transform變化了一下,旋轉(zhuǎn)啊拉伸啊什么的,之后坐標(biāo)的計(jì)算就開始紊亂了,我想問一下如果想讓他正常工作的話應(yīng)該怎么做?拖動(dòng)的代碼如下:$(function(){
var dragging = false;var iX, iY;var qX, qY;var tempid; $('.dragcontain').mousedown(function(e) { dragging = true; iX = accSub(e.clientX,this.offsetLeft); iY = accSub(e.clientY,this.offsetTop); qX = $(e.target).children().position().left; qY = $(e.target).children().position().top; console.log(qX,qY); console.log(iX,iY); this.setCapture && this.setCapture(); return false;});document.onmousemove = function(e) { if (dragging) { var e = e || window.event; console.log('sX:',e.clientX,'sY:',e.clientY); var nX = accSub(e.clientX,e.target.offsetLeft); var nY = accSub(e.clientY,e.target.offsetTop); console.log(e.clientX,e.target.offsetLeft) var mX = accSub(nX,iX); var mY = accSub(nY,iY); var oX = accAdd(qX,mX); var oY = accAdd(qY,mY); $(e.target).children().css({'left':oX + 'px', 'top':oY + 'px'}); console.log('iX:',iX,'iY:',iY); console.log('oX:',oX,'oY:',oY); console.log('nX:',nX,'nY:',nY); console.log('mX:',mX,'mY:',mY); console.log('qX:',qX,'qY:',qY); console.log(''); return false; }};$(document).mouseup(function(e) { dragging = false; e.cancelBubble = true; iX=0; iY=0;})
})
光光是將dragcontain給rotate(45deg)旋轉(zhuǎn)后就開始亂了,坐標(biāo)直接到-1000多去了
問題解答
回答1:transform旋轉(zhuǎn)縮放都是有基點(diǎn)的,transform-origin
相關(guān)文章:
1. mysql - 在不允許改動(dòng)數(shù)據(jù)表的情況下,如何優(yōu)化以varchar格式存儲(chǔ)的時(shí)間的比較?2. css - chrome下a標(biāo)簽嵌套img 顯示會(huì)多個(gè)小箭頭?3. docker網(wǎng)絡(luò)端口映射,沒有方便點(diǎn)的操作方法么?4. javascript - 網(wǎng)頁打印頁另存為pdf的代碼一個(gè)問題5. vim - docker中新的ubuntu12.04鏡像,運(yùn)行vi提示,找不到命名.6. css3 - 純css實(shí)現(xiàn)點(diǎn)擊特效7. java中返回一個(gè)對(duì)象,和輸出對(duì)像的值,意義在哪兒8. javascript - 有適合開發(fā)手機(jī)端Html5網(wǎng)頁小游戲的前端框架嗎?9. javascript - Img.complete和img.onload判斷圖片加載完成有什么區(qū)別?10. mysql 為什么主鍵 id 和 pid 都市索引, id > 10 走索引 time > 10 不走索引?
