慕桂英546537
2018-07-31 11:10:43
代碼很簡單就這么一點(diǎn),160X160的一個canvas畫布,按理鼠標(biāo)在畫布里的時候,下面顯示坐標(biāo)的x,y都在0~160范圍內(nèi)。單獨(dú)用瀏覽器打開這段程序,很正常??墒欠旁诓┛蛡?cè)邊欄公告里,x倒正常,y卻都負(fù)了。。。。?!,F(xiàn)在已經(jīng)確定是y1的問題,現(xiàn)在發(fā)現(xiàn)是這樣的,我只要把網(wǎng)頁上下滾動拉到頂,那么就可以得到正確的值。也就是y1得到的不是網(wǎng)頁內(nèi)的坐標(biāo),而是網(wǎng)頁可視范圍上的坐標(biāo)。請問y1怎么改,如何才可以得到正確的坐標(biāo)?
1 回答

慕娘9325324
TA貢獻(xiàn)1783條經(jīng)驗(yàn) 獲得超4個贊
var n = document.getElementById("myCanvas");
var c = n.getContext("2d");
var ev2 = event || window.event;
var x1 = ev2.PageX||ev2.clientX;
var y1 = ev2.PageY||ev2.clientY;
x1 += document.documentElement.scrollLeft || document.body.scrollLeft;
y1 += document.documentElement.scrollTop || document.body.scrollTop;
var x2 = n.offsetLeft;
var y2 = n.offsetTop;
//var y2 = $(n).offset().top;
var x = x1 - x2;
var y = y1 - y2;
添加回答
舉報
0/150
提交
取消