宝哥软件园

javascript获取文档坐标和视口坐标

编辑:宝哥软件园 来源:互联网 时间:2021-09-09

元素的位置以像素为单位测量,右边代表X坐标的增加,下面代表Y坐标的增加。但是,有两个不同的点作为坐标系的原点:元素的X和Y坐标可以相对于文档的左上角或文档在服务中显示的视口的左上角。

在放坡窗口和选项卡中,“视口”只是实际显示文档内容的浏览器的一部分:它不包括浏览器的“外壳”(如菜单、工具栏和选项卡)。

对于显示在框架中的文档,框架页面的iframe元素是经过口头测试的。在任何情况下,当讨论元素的位置为时,有必要找出所使用的坐标是文档坐标还是视口坐标。(请注意,视口坐标也称为窗口坐标。)

如果文档小于视口,或者没有滚动,文档的左上角就是视口的左上角,文档和视口的坐标系是相同的。但一般来说,要在两个坐标系之间进行转换,需要对滚动偏移量进行加减运算。例如,如果文档坐标中某个元素的Y坐标为200像素,并且用户将浏览器向下滚动了75像素,则视口坐标中该元素的Y坐标为125像素。类似地,如果元素的x坐标在视口坐标中是400像素,并且用户水平滚动视口200像素,则元素的x坐标在文档坐标中的像素的x坐标中是600像素。

文档坐标比视口坐标更基本,用户滚动时不会改变。然而,在客户端编程中使用视口坐标是非常常见的。当使用CSS指定元素的位置时,使用文档坐标。但是查询元素位置最简单的方法是:getboundingclient()返回视口坐标中的位置。同样,为鼠标事件注册事件处理函数时,鼠标指针的报告坐标位于视口坐标系中。

为了在坐标系中转换,我们需要确定滚动条在浏览器窗口中的位置。Window对象的pageXoffset和pageYOffset属性在除IE8和早期版本之外的所有浏览器中都提供这些值。IE(以及所有现代浏览器)也可以通过scrollLeft和scrollTop属性获取滚动条的位置。令人困惑的是,在正常情况下,这些属性是通过查找文档的根节点(document.documentElement)获得的,但是在怪异模式下,它们必须在文档的body元素(documeng.body)上查询。下面展示了如何轻松查询滚动条的位置。

functon getscrolloffset(w){ w=w | | window;var sLeft,sTopif(w.pageXOffset!=null){ SLeft=w . page xoffset;sTop=w.pageYOffset返回{ x:sLeft,y : stop };} if(document.compat mode==' css1 compat '){ Sleft=document . document element . scrolleft==0?document . body . scrolleft : document . document element . scrolleft;sTop=document . document element . scroll top==0?document . body . scroll top : document . document element . scroll top;返回{ x:sLeft,y : stop };} else if(document.compat mode==' back compat '){ Sleft=document . body . scrolleft;sTop=document . body . scroll top;返回{ x:sLeft,y : stop };}}有时,能够确定视口的大小非常有用,例如,确保文档的案例部分当前可见。使用滚动偏移量查询视口大小的简单方法在IE8及更早的版本中无法工作,这种技术在IE中的运行向导取决于浏览器是处于怪异模式还是标准模式。

窗口下的属性:

内部高度:包含滚动条的窗口内容部分的高度

内宽度:包含滚动条的窗口内容部分的宽度

外部高度:整个浏览器的高度,包括界面的所有组件。

外部宽度:整个浏览器的宽度,包括界面的所有组件。

PageXOffset:浏览器窗口滚动条x轴的位置

PageYOffset:浏览器窗口滚动条y轴的位置

ScrollX:浏览器窗口滚动条的x轴位置

scrolly :(滚动3360)鲁仲尼鲁仲尼鲁仲尼然后呢阿叔呀

是吗

文件。文档元素文档。身体高度范仲淹把范仲淹给范仲淹,喂喂喂喂喂喂喂喂喂。客户端宽度客户端左侧客户端顶部右侧魏冄,1826年。偏移顶部滚动高度范思哲范思哲,唔唔唔唔唔唔唔唔唔唔唔唔唔唔唔唔唔唔唔唔唔唔唔唔唔唔唔唔唔唔唔唔唔唔唔唔唔唔唔唔唔唔唔唔唔唔唔唔唔唔唔唔唔唔唔唔唔唔唔唔唔唔唔唔唔唔唔唔唔唔唔,魏冄。滚动宽度滚动顶部滚动宽度

鲁仲尼鲁仲尼:

函数获取视口大小(w){ w=w | |窗口;var cWidth,chei thiff(w . inner width!=null){cWidth=w。内置特性;cheight=w .内部高度返回{ w : cwidth,h 3330 w . cheght };} if(文档。compat mode==CSS 1 compat '){ cwidth=document。文档元素。客户端宽度;cheight=轻轻。documentElement.clientHeight:返回{ w : cwidth,h 3330 w . cheght };} else if(文档。compat mode==back compat){ cwidth=document。尸体。客户端宽度;cheight=轻轻。body.clientHeight:返回{ w : cwidth,h 3330 w . cheght };}}

云娥与云娥同在,你好。

更多资讯
游戏推荐
更多+