导航:首页 > 编程语言 > js获取定位坐标系

js获取定位坐标系

发布时间:2025-04-16 06:24:44

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

当然如果用矩阵变换也是可以写的..

阅读全文

与js获取定位坐标系相关的资料

热点内容
如何复制文件夹中的多个文件名 浏览:52
冯诺依曼数据存在在什么中 浏览:16
多份文件部分内容遭涂黑遮去 浏览:133
哪些质量管理活动需要形成文件 浏览:521
如何适应大数据时代心得 浏览:146
什么是名目数据 浏览:457
文件夹标注 浏览:243
swfupload选择单个文件 浏览:136
blocks提示找不到头文件 浏览:761
在哪里能编程C语言 浏览:425
c程序小学生自助四则运算练习 浏览:551
java定义循环数组 浏览:483
lol录制文件在哪里打开 浏览:168
考研哪些学校有网络空间安全 浏览:542
复制到d盘找不到文件 浏览:195
上海哪里教焊钳机器人编程 浏览:556
如何编程爱国类小游戏 浏览:172
喜蛋传奇在哪个app播放 浏览:968
QQ邮箱会压缩文件吗 浏览:750
tc简单打开文件夹 浏览:763

友情链接