我现在在做弹出层,目前是做到支持随鼠标移动而移动这步了。
当鼠标滚动时。
window.onscroll=function(){
var x=x;
var y=y;
x 和 y分别是我弹出层初始化时距离屏幕的左边和顶边距离。 现在我要怎么算滚动之后它离屏幕的左边和顶边距离。
var obj =document.getElementsByTagName("mydiv");
obj.style.left=x+???????
obj.style.top=y+??????? //这个算法弄头昏了。不知道咋算了,高手救命。
}
当鼠标滚动时。
window.onscroll=function(){
var x=x;
var y=y;
x 和 y分别是我弹出层初始化时距离屏幕的左边和顶边距离。 现在我要怎么算滚动之后它离屏幕的左边和顶边距离。
var obj =document.getElementsByTagName("mydiv");
obj.style.left=x+???????
obj.style.top=y+??????? //这个算法弄头昏了。不知道咋算了,高手救命。
}
解决方案 »
- MouseDown的参数问题
- 关于数组的问题
- 定义一个对象时:var O=new Object() 与 var O={}两种定义在哪里不一样
- 巨难的问题,哪位知道新浪邮箱删除邮件时的那个无边框的对话框和颜色变暗怎么做到的吗?
- 请教: 对象不支持addEventListener属性或方法
- 网上down的微软的经典菜单放到框架上面,子菜单只能在上面的那个框架页面内显示!
- 100分,如何做点击右键表格单元格的任意位置弹出自己做的菜单!!!!!
- 高分请教.用JavaScript怎样对文件操作?即在客户端对文件处理操作??谢谢!!!
- 借光,借光
- 一段javascrip做的菜单的执行问题!
- ie8下showModalDialog为什么无效呢
- 可编辑DIV 光标位置插入文字
网页可见区域高:document.body.clientHeight
网页可见区域宽:document.body.offsetWidth (包括边线的宽)
网页可见区域高:document.body.offsetHeight (包括边线的宽)
网页正文全文宽:document.body.scrollWidth
网页正文全文高:document.body.scrollHeight
网页被卷去的高:document.body.scrollTop
网页被卷去的左:document.body.scrollLeft
网页正文部分上:window.screenTop
网页正文部分左:window.screenLeft
屏幕分辨率的高:window.screen.height
屏幕分辨率的宽:window.screen.width
屏幕可用工作区高度:window.screen.availHeight
屏幕可用工作区宽度:window.screen.availWidthHTML精确定位:scrollLeft,scrollWidth,clientWidth,offsetWidth
scrollHeight: 获取对象的滚动高度。
scrollLeft:设置或获取位于对象左边界和窗口中目前可见内容的最左端之间的距离
scrollTop:设置或获取位于对象最顶端和窗口中可见内容的最顶端之间的距离
scrollWidth:获取对象的滚动宽度
offsetHeight:获取对象相对于版面或由父坐标 offsetParent 属性指定的父坐标的高度
offsetLeft:获取对象相对于版面或由 offsetParent 属性指定的父坐标的计算左侧位置
offsetTop:获取对象相对于版面或由 offsetTop 属性指定的父坐标的计算顶端位置
event.clientX 相对文档的水平座标
event.clientY 相对文档的垂直座标
event.offsetX 相对容器的水平坐标
event.offsetY 相对容器的垂直坐标
document.documentElement.scrollTop 垂直方向滚动的值
event.clientX+document.documentElement.scrollTop 相对文档的水平座标+垂直方向滚动的量IE,FireFox 差异如下:IE6.0、FF1.06+:
clientWidth = width + padding
clientHeight = height + padding
offsetWidth = width + padding + border
offsetHeight = height + padding + border
IE5.0/5.5:
clientWidth = width – border
clientHeight = height – border
offsetWidth = width
offsetHeight = height
(需要提一下:CSS中的margin属性,与clientWidth、offsetWidth、clientHeight、offsetHeight均无关)———————————————对于firefox有个兼容性问题。如果想设置整个网页的页面宽度用一个层遮罩住的话,要这样处理function browserWidth() {
if (self.innerWidth) {
return self.innerWidth;
} else{
return document.body.clientWidth;
}
return 800;
}var ht=browserHeight()+10+"px";
document.getElementById("v_full_screen").style.position="absolute";
document.getElementById("v_full_screen").style.left="0px";
document.getElementById("v_full_screen").style.top="0px";
document.getElementById("v_full_screen").style.width=wd;
var scht=document.body.scrollHeight+"px";
document.getElementById("v_full_screen").style.height=scht;
document.getElementById("v_full_screen").style.background="#000033";这样处理后页面的整个高度和宽度就是你浏览整个页面的高度和宽度=====================在我本地测试当中:在IE、FireFox、Opera下都可以使用document.body.clientWidthdocument.body.clientHeight即可获得,很简单,很方便。而在公司项目当中:Opera仍然使用document.body.clientWidthdocument.body.clientHeight可是IE和FireFox则使用document.documentElement.clientWidthdocument.documentElement.clientHeight原来是W3C的标准在作怪啊http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">如果在页面中添加这行标记的话在IE中:document.body.clientWidth ==> BODY对象宽度document.body.clientHeight ==> BODY对象高度document.documentElement.clientWidth ==> 可见区域宽度document.documentElement.clientHeight ==> 可见区域高度在FireFox中:document.body.clientWidth ==> BODY对象宽度document.body.clientHeight ==> BODY对象高度document.documentElement.clientWidth ==> 可见区域宽度document.documentElement.clientHeight ==> 可见区域高度?在Opera中: document.body.clientWidth ==> 可见区域宽度document.body.clientHeight ==> 可见区域高度document.documentElement.clientWidth ==> 页面对象宽度(即BODY对象宽度加上Margin宽)document.documentElement.clientHeight ==> 页面对象高度(即BODY对象高度加上Margin高)而如果没有定义W3C的标准,则IE为:document.documentElement.clientWidth ==> 0document.documentElement.clientHeight ==> 0FireFox为:document.documentElement.clientWidth ==> 页面对象宽度(即BODY对象宽度加上Margin宽)document.documentElement.clientHeight ==> 页面对象高度(即BODY对象高度加上Margin高)Opera为:document.documentElement.clientWidth ==> 页面对象宽度(即BODY对象宽度加上Margin宽)document.documentElement.clientHeight ==> 页面对象高度(即BODY对象高度加上Margin高)