zoukankan      html  css  js  c++  java
  • scrollWidth,clientWidth,offsetWidth的区别

    1 scrollWidth 
    是对象的实际内容的宽,不包括边线(border或者滚动条)宽度,会随对象中内容的多少改变(内容多了可能会改变对象的实际度)

    2 clientWidth 
    是对象可见的宽度,不包括边线(border或者滚动条),会随窗口的显示大小改变。

    3 offsetWidth 
    对象的可见宽度,包括边线(border或者滚动条),会随窗口的显示大小改变。

    如下图的例子:

    <textarea wrap="off" onmouseout="alert('scrollWidth:'+this.scrollWidth+'/n clientWidth:'+this.clientWidth);"></textarea> 

     

    <textarea wrap="off" onmouseout="alert('offsetWidth:'+this.offsetWidth+'/n clientWidth:'+this.clientWidth);"></textarea> 

    pageX,pageY: 鼠标在页面上的位置,从页面左上角开始,即是以页面为参考点,不随滑动条移动而变化,只有Firefox有,ie没有(PageY=clientY+scrollTop-clientTop;)

    clientX clientY: 设置或获取鼠标指针位置相对于浏览器当前窗口的 x ,y坐标,其中客户区域不包括窗口自身的控件和滚动条,参考点岁滚动条变化。

    offsetX offsetY: 设置或获取鼠标指针位置相对于触发事件的对象的 x ,y坐标。 

    screenX  screenY: 设置或获取获取鼠标指针位置相对于用户屏幕的 x ,y坐标,是绝对位置.

    event.x y: 设置或获取鼠标指针位置相对于父文档的 x 像素坐标。

    client.x和x的区别:

    event.clientX返回事件发生时,mouse相对于当前窗口的X坐标
    event.X也一样
    但是如果设置事件对象的定位属性值为relative
    event.clientX不变
    而event.X返回事件对象的相对于本体的坐标,IE特有,这个本来和layerX/layerY的作用基本一样,能不用就不用.

    图解:pageX

    1

    clientX

    2

    兼容表:
    offsetX/offsetY:W3C- IE+ Firefox- Opera+ Safari+ chrome+
    x/y:W3C- IE+ Firefox- Opera+ Safari+ chrome+
    layerX/layerY:W3C- IE- Firefox+ Opera- Safari+ chrome+
    pageX/pageY:W3C- IE- Firefox+ Opera+ Safari+ chrome+
    clientX/clientY:W3C+ IE+ Firefox+ Opera+ Safari+ chrome+
    screenX/screenY:W3C+ IE+ Firefox+ Opera+ Safari+ chrome+

    http://images.cnblogs.com/cnblogs_com/trlanfeng/201211/20121104085327371.jpg

  • 相关阅读:
    VHD进阶:差分VHD备份系统
    默认系统为UEFI启动的GPT分区的WIN7(8),如何安装VHD的UEFI WIN8(7)
    在WIN7/8下把XP装入VHD (上)
    USB鼠标线序
    组合与继承
    结构体内存对齐
    多媒体编码与格式
    网络病毒
    寄存器
    0
  • 原文地址:https://www.cnblogs.com/Zoe-only/p/4616452.html
Copyright © 2011-2022 走看看