㈠ js怎麼獲得滑鼠當前坐標
吸使用以下幾種方式獲取:
1.PageX/PageX:滑鼠在頁面上的位置,從頁面左上角開始,即是以頁面為參考點,不隨滑動條移動而變化
2.clientX/clientY:滑鼠在頁面上可視區域的位置,從瀏覽器可視區域左上角開始,即是以瀏覽器滑動條此刻的滑動到的位置為參考點,隨滑動條移動 而變化.
可是悲劇的是,PageX只有FF特有,IE這個悲劇沒有啊T_T,所以大牛們想出了一個辦法
PageY=clientY+scrollTop-clientTop;(只討論Y軸,X軸同理,下同)
3.screenX/screenY:滑鼠在屏幕上的位置,從屏幕左上角開始(w3c標准)
4.offsetX/offsetY:IE特有,滑鼠相比較於觸發事件的元素的位置,以元素盒子模型的內容區域的左上角為參考點,如果有boder,可能出現負值
5.
layerX/layerY:FF特有,滑鼠相比較於當前坐標系的位置,即如果觸發元素沒有設置絕對定位或相對定位,以頁面為參考點,如果有,將改變參考坐標系,從觸發元素盒子模型的border區域的左上角為參考點也就是當觸發元素設置了相對或者絕對定位後,layerX和offsetX就幸福地生活在一起^-^,幾乎相等,唯一不同就是一個從border為參考點,一個以內容為參考點
chrome和safari一條龍通殺!完全支持所有屬性.其中(offsetX和layerX都是以border為參考點)
下面這個是獲取相對於屏幕的坐標
document.onmousemove=function(e){e=e? e:window.event;document.writeln("X:"+e.screenX+"Y:"+e.screenY);}
㈡ js怎麼獲得滑鼠當前坐標
獲取滑鼠當前坐標的幾種方式包括PageX和PageY,這兩種方法僅在Firefox中可用,而在IE中則沒有。為了解決這個問題,大牛們創造了一個計算公式:PageY=clientY+scrollTop-clientTop。同樣地,對於X軸,也有類似的方法:PageX=clientX+scrollLeft-clientLeft。
客戶端坐標(clientX/clientY)是從瀏覽器可視區域的左上角開始測量的,這意味著它會隨著滾動條的移動而變化。這使得在處理頁面滾動時,使用client坐標更為方便。
屏幕坐標(screenX/screenY)是從屏幕左上角開始計算的,這與W3C標准一致。屏幕坐標可以用來確定滑鼠相對於屏幕的絕對位置。
偏移坐標(offsetX/offsetY)是IE特有的,它表示滑鼠相對於觸發事件元素的內容區域左上角的位置。如果元素有邊框,可能會出現負值。
層坐標(layerX/layerY)是Firefox特有的,表示滑鼠相對於當前坐標系的位置。如果觸發元素沒有設置絕對定位或相對定位,層坐標將以頁面為參考點。如果有絕對定位或相對定位,則層坐標將改變參考坐標系,以觸發元素邊框區域的左上角為參考點。
Chrome和Safari瀏覽器支持所有這些屬性,其中offsetX和layerX都是以邊框為參考點。下面是一個示例代碼,用於獲取相對於屏幕的坐標:
document.onmousemove = function(e) {
e = e ? e : window.event;
document.writeln("X:" + e.screenX + "Y:" + e.screenY);
}
㈢ wgs84轉百度坐標 js怎麼寫
var ggPoint=[];
//循環獲取轉換前的坐標
for (var j = 0; j < result.length; j++) {
var poi = new BMap.Point(result[j].Longitude, result[j].Latitude);//獲取轉換前的坐標
ggPoint.push(poi);//循環寫入經緯度到ggPoint這個數組
}
var bdpoi = GpsToBaiPoints(ggPoint);//GpsToBaiPoints調用的一個js
//循環寫入轉換後的坐標
for (var j = 0; j < bdpoi.length; j++) {
var poi = bdpoi[j];// new BMap.Point(bdpoi[j].Longitude, bdpoi[j].Latitude);
var myIcons = new BMap.Icon("/images/zdlcsgreen.png", new BMap.Size(12, 12));//這個在地圖上顯示的圖片可以自己設置
var marker = new BMap.Marker(poi, { icon: myIcons });
var label = new BMap.Label(「轉換後」, { offset: new BMap.Size(20, -10) });
map.addOverlay(marker);
marker.setLabel(label);
}
㈣ 求大神js代碼 知道A點的坐標,繞著O(原點)旋轉任意角度求出旋轉後的B坐標。
這是數學題襲啊....
Rotate=function(Source,Angle)//Angle為正時逆時針轉動,單位為弧度
{
varA,R;
A=Math.atan2(Source.Y,Source.X)//atan2自帶坐標系識別,注意X,Y的順序
A+=Angle//旋轉
R=Math.sqrt(Source.X*Source.X+Source.Y*Source.Y)//半徑
return{
X:Math.cos(A)*R,
Y:Math.sin(A)*R
}
}
Rotate({X:0,Y:4},-Math.PI/4)
注意,由於牽扯浮點運算,所以你如果調用
Rotate({X:0,Y:4},Math.PI/2)
返回可能會是{X:-4,Y:4.898425415289509e-16}
Y很小但不等於0
當然如果用矩陣變換也是可以寫的..