document和documentelement,document.createelement()

  document和documentelement,document.createelement()

  关于document.documentElement和document.body的scrollWidth、offsetWidth和clientWidth的进一步讨论

  (scrollHeight、offsetHeight和clientHeight也可以根据这篇文章来理解。)

  这是一个非常复杂的问题。让我们想象一下:

  document . document element . scroll width document . document element . offsetwidthdocument . document element . client width document . body . scroll width document . body . offsetwidthdocument . body . client width

  要测量的属性有6个,这6个属性应该放在4种情况下:

  未指定DOCTYPE,网页内容不超过窗口宽度;没有指定DOCTYPE,网页内容超出窗口宽度。指定DOCTYPE,网页内容不超过窗口宽度;指定DOCTYPE,网页内容超出窗口宽度;

  那么这四种情况要放到几个主流浏览器中,假设只有三种浏览器:

  IEFirefoxChrome

  算算,6 * 4 * 3。有72种情况需要测试。哦,我的上帝。而且不要指望火狐和Chrome的结果是一样的,也不要指望火狐不会给你混乱的结果,这样真的很烦。

  简化应用分析。

  72个考试情境确实很烦,但是当我们回头看的时候,我们真正想要的是什么?

  我想我们想要两样东西:

  一个是scrollWidth(scrollHeight)。虽然不是很有用,但应该比offsetWidth(offsetHeight)有用多了。它表示文档区域的宽度(高度)。比如一个网页,尤其是门户网站,长时间拖动,就需要统计所有没有显示的内容。第二个是viewport,也就是clientWidth,也就是窗口中可以显示内容的区域,也就是我们经常看到页面上飞来飞去的广告,飞来飞去,撞到边缘弹跳的区域。

  试验结果

  结果很复杂,我就不说了。这里我只说一下如何在实践中使用:

  要使用scrollWidth,请取文档的最大值;document.body.scrollWidth和document身体;滚动宽度;若要使用clientWidth,如果document . document element . client width为0,请使用document . document element . client width,否则,请使用document.body.clientWidth

  表达式是:

  var scroll width=math . max(document . document element . scroll width,document . body . scroll width);var client width=document . document element . client width document . body . client width;

  开始工作

  ScrollWidth,offsetWidth,clientWidth兼容性测试文件

郑重声明:本文由网友发布,不代表盛行IT的观点,版权归原作者所有,仅为传播更多信息之目的,如有侵权请联系,我们将第一时间修改或删除,多谢。

留言与评论(共有 条评论)
   
验证码: