
吸使用以下几种方式获取:
1PageX/PageX:鼠标在页面上的位置,从页面左上角开始,即是以页面为参考点,不随滑动条移动而变化
2clientX/clientY:鼠标在页面上可视区域的位置,从浏览器可视区域左上角开始,即是以浏览器滑动条此刻的滑动到的位置为参考点,随滑动条移动 而变化
可是悲剧的是,PageX只有FF特有,IE这个悲剧没有啊T_T,所以大牛们想出了一个办法
PageY=clientY+scrollTop-clientTop;(只讨论Y轴,X轴同理,下同)
3screenX/screenY:鼠标在屏幕上的位置,从屏幕左上角开始(w3c标准)
4offsetX/offsetY:IE特有,鼠标相比较于触发事件的元素的位置,以元素盒子模型的内容区域的左上角为参考点,如果有boder,可能出现负值
5
layerX/layerY:FF特有,鼠标相比较于当前坐标系的位置,即如果触发元素没有设置绝对定位或相对定位,以页面为参考点,如果有,将改变参考坐标系,从触发元素盒子模型的border区域的左上角为参考点也就是当触发元素设置了相对或者绝对定位后,layerX和offsetX就幸福地生活在一起^-^,几乎相等,唯一不同就是一个从border为参考点,一个以内容为参考点
chrome和safari一条龙通杀!完全支持所有属性其中(offsetX和layerX都是以border为参考点)
下面这个是获取相对于屏幕的坐标
documentonmousemove=function(e){e=e e:windowevent;documentwriteln("X:"+escreenX+"Y:"+escreenY);}
1、使用js改变控件的style
var elem=documentgetElementById("控件id");//获取控件elemstyleposition = "absolute";//设置绝对定位(或者相对定位)
elemstyleleft = "50px";//设置left数值
elemstyletop = "100px";//设置top数值
2、使用js改变元素的class
写好的style
newPosition{position:absolute;top:50px;left:100px;}改变元素class(可以绑定在某个事件中,或者页面加载完成执行)
var elem=documentgetElementById("控件id");//获取控件elemclassName='newPosition';//为空间添加class样式
lbk=documentgetElementById('vocation')value;
text=documentform2companyvalue;
这是我自己做的,vocationa是列表框的控件id和name,form2是表单name,company是控件name和id,其他一般的控件也就这两种形式,你可以自己试,列表框就不能用第二种,可以自己尝试一下。
以上就是关于js怎么获得鼠标当前坐标全部的内容,包括:js怎么获得鼠标当前坐标、js如何改变控件的显示位置、JS如果获取控件的值等相关内容解答,如果想了解更多相关内容,可以关注我们,你们的支持是我们更新的动力!
欢迎分享,转载请注明来源:内存溢出
微信扫一扫
支付宝扫一扫
评论列表(0条)