浏览器对象的各种宽高

Posted

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了浏览器对象的各种宽高相关的知识,希望对你有一定的参考价值。

Window对象属性


ScreenLeft/ScreenTop/ScreenX/ScreenY

只读整数,声明了窗口的左上角在屏幕上的 x 坐标 和 y 坐标

IE、Safari 和 Opera 支持 ScreenLeft/ScreenTop

Firefox、Safari 支持 ScreenX/ScreenY

Chrome 都支持

技术分享


innerWidth/innerHeight

只读属性,声明了窗口的文档显示区的宽度和高度,以像素计。这里的宽度和高度不包括菜单栏、工具栏以及滚动条等的高度

IE 不支持这些属性。它用 document.documentElement 或 document.body (与 IE 的版本相关)的 clientWidth 和 clientHeight 属性作为替代。

技术分享



outerWidth/outerHeight

只读属性,声明了整个窗口的宽度和高度

IE不支持此属性,且没有提供代替的属性

技术分享



pageXOffset/pageYOffset

设置或返回当前页面相对于窗口显示区左上角的 X/Y 位置




Window 对象方法


moveBy( )

语法: window.moveBy(x,y)

相对窗口当前的坐标,把它移动到指定的像素

x:要把窗口右移的像素

y:  要把窗口下移的像素



moveTo( )

语法: window.moveTo(x,y)

把窗口的左上角移动到一个指定的坐标

x:窗口新位置的 x 坐标

y:  窗口新位置的 y 坐标


提示:出于安全方面的原因,浏览器限制此方法使其不能把窗口移出屏幕。



resizeBy( )

语法:resizeBy(width, height)

根据指定的像素来调整窗口的大小

width:必需,要使窗口宽度增加的像素数。可以是正、负数值

height:可选,要使窗口高度增加的像素数。可以是正、负数值



resizeTo( )

语法:resizeTo(width, height)

把窗口的大小调整为指定的宽度和高度

width:必需,想要调整到的窗口的宽度。以像素计

height:可选,想要调整到的窗口的高度。以像素计



scrollBy( )

语法:scrollBy(xnum, ynum)

把内容滚动指定的像素数

xnum:必需,把文档向右滚动的像素数

ynum:必需,把文档向下滚动的像素数



scrollTo( )

语法:scrollTo(xpos, ypos)

把内容滚动到指定的坐标

xpos:必需,要在窗口文档显示区左上角显示的文档的 x 坐标

ypos:必需,要在窗口文档显示区左上角显示的文档的 y 坐标




Screen 对象属性


screen.width/screen.height

显示器屏幕的宽度/高度,以像素计

技术分享



availWidth/availHeight

语法:screen.availWidth

显示浏览器的屏幕的可用宽度/高度,以像素计。在windows操作系统中,这个宽/高度不包括分配给半永久特性(如屏幕底部任务栏)的垂直空间

技术分享




事件对象


screenX/screenY 事件属性

语法:event.screenX

用法:返回事件发生时,鼠标指针相对于用户显示器屏幕的左上角水平(垂直)坐标


<body>
<div id="box"></div>

<script>
    var box = document.getElementById(‘box‘);
    box.addEventListener(‘click‘,function(event){
        var screenX = event.screenX;
        var screenY = event.screenY;
        alert(‘指针相对于屏幕显示器左上角的X坐标是:‘+screenX+‘, 指针相对于屏幕显示器左上角的Y坐标是:‘+screenY);
    })

</script>

技术分享



clientX/clientY 事件属性

语法:event.clientX

用法:返回事件发生时,鼠标指针相对于浏览器窗口可视区域的水平(垂直)窗口坐标。可视区域不包括工具栏和滚动条,IE事件和标准事件都定义了这2个属性

<div id="box"></div>

<script>
    var box = document.getElementById(‘box‘);
    box.addEventListener(‘click‘,function(event){
        var clientX = event.clientX;
        var clientY = event.clientY;
        alert(‘指针相对于文档可视区的X坐标是:‘+clientX+‘, 指针相对于文档可视区的Y坐标是:‘+clientY);
    })

</script>

技术分享




offsetX/offsetY 事件属性

语法:event.offsetX

用法:返回鼠标指针的位置,相对于事件源元素的水平(垂直坐标),只有IE有这两个属性,标准事件没有对应的属性


<body>
<div id="box"></div>

<script>
    var box = document.getElementById(‘box‘);
    box.addEventListener(‘click‘,function(event){
        var offsetX = event.offsetX;
        var offsetY = event.offsetY;
        alert(‘指针相对于box的X坐标是:‘+offsetX+‘, 指针相对于box的Y坐标是:‘+offsetY);
    })

</script>

技术分享


技术分享



pageX/pageY 事件属性

语法:event.pageX

用法:返回鼠标指针的位置,类似于event.clientX、event.clientY,但它们使用的是文档坐标而非窗口坐标。这2个属性不是标准属性,但得到了广泛支持。IE事件中没有这2个属性





本文出自 “dapengtalk” 博客,请务必保留此出处http://dapengtalk.blog.51cto.com/11549574/1883928

以上是关于浏览器对象的各种宽高的主要内容,如果未能解决你的问题,请参考以下文章

js各种宽高

JavaScript中的各种宽高以及位置总结

jquery获取元素各种宽高及页面宽高

js获取各种宽高

js各种宽高意义总结

各种宽高