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

  • 相关阅读:
    【刷题】LOJ 6009 「网络流 24 题」软件补丁
    lab 项目
    js内的时间戳指的是当前时间到1970年1月1日00:00:00 UTC对应的毫秒数,和 unix时间戳是对应的秒数,差了1000倍
    js 原生: 身份证脱敏、唯一随机字符串uuid、对于高 index 元素的隐藏与显示
    diy 滚动条 样式 ---- 核心代码
    PC_后台管理系统
    三端兼容项目
    阿里小程序
    到位App_jQuery_art-template
    一步一步 copy163: 网易严选 ---- vue-cli
  • 原文地址:https://www.cnblogs.com/Zoe-only/p/4616452.html
Copyright © 2011-2022 走看看