5.19 -20总结

offsetHeight和style.height的区别


style.height是字符串,offsetHeight是数值

 demo.style.height是用来获取和设置行内样式的,offsetHeight是只读属性

  demo.style.height只能获取和设置行内样式,如果样式写到了其他地方,甚至根本就没写,便无法获取

  因此,工作中一般用demo.offsetHeight来获取某元素的真实宽度/高度,用style.height来设置宽度/高度


   1.2 offsetHeight的构成

      offsetHeight = height+padding+border (包括自身高度内边距边框不包括外边距)


2   offsetLeft和offsetTop

    用来得到对象的位置(注意:没有offsetRight和offsetBottom)

  @offsetLeft的构成

        到最近的(带有定位的)父元素的左侧/顶部的距离

         如果所有父级都没有定位则以body为准

         offsetLeft是自身border左侧到父级padding左侧的距离


 @offsetLeft和style.left的区别

   一、style.left只能获取行内样式

   二、offsetLeft只读,style.left可读可写

  三、offsetLeft是数值,style.left是字符串并且有单位px

  四、如果没有加定位,style.left获取的数值可能是无效的

  五、最大区别在于offsetLeft以border左上角为基准,style.left以margin左上角为基准


3  ie和dom事件流的区别

1.事件流的区别

IE采用冒泡型事件 Netscape使用捕获型事件 DOM使用先捕获后冒泡型事件

示例:

冒泡型事件模型: button->div->body (IE事件流)

捕获型事件模型: body->div->button (Netscape事件流)

DOM事件模型: body->div->button->button->div->body (先捕获后冒泡)

2.事件侦听函数的区别

IE使用:

[Object].attachEvent("name_of_event_handler", fnHandler); //绑定函数

[Object].detachEvent("name_of_event_handler", fnHandler); //移除绑定

DOM使用:

[Object].addEventListener("name_of_event", fnHandler, bCapture); //绑定函数

[Object].removeEventListener("name_of_event", fnHandler, bCapture); //移除绑定

bCapture参数用于设置事件绑定的阶段,true为捕获阶段,false为冒泡阶段。

最后编辑于
©著作权归作者所有,转载或内容合作请联系作者
平台声明:文章内容(如有图片或视频亦包括在内)由作者上传并发布,文章内容仅代表作者本人观点,简书系信息发布平台,仅提供信息存储服务。

推荐阅读更多精彩内容

  • w一:rem布局公式 document.documentElement.style.fontSize=20*doc...
    stars甜阅读 801评论 0 1
  • offset家族三大家族和一个事件对象三大家族(offset/scroll/client)事件对象/event ...
    Yuann阅读 984评论 0 5
  • 我们首先要明白,我们给页面添加效果用到的js到底是什么?js其实包含三部分:dom 文档对象模型 bom 浏览...
    一直以来都很好阅读 819评论 0 0
  • 事件源对象 event.srcElement.tagName event.srcElement.type 捕获释放...
    孤魂草阅读 915评论 0 0
  • 下午到了老家,妈妈给我准备了点心,吃东西的时候,她开始唠叨说我不上班也不出去赚钱的事情了!开始看见自己的排斥,麻痹...
    竺子阅读 177评论 0 0