如何从IE和chrome获取相同的clientWidth值?

时间:2019-07-18 02:43:09

标签: javascript

我正在创建滚动功能。 我尝试根据更改的宽度值刷新滚动。 放大IE后,clientWidth值与预期的不同。

function btnClick() {
  document.getElementById('tt').style.zoom = 1.5;
  console.log(document.getElementById('gg').clientWidth);
}

function btn2Click() {
  document.getElementById('tt').style.zoom = 1;
  console.log(document.getElementById('gg').clientWidth);
}
<input type="button" id="btn" value="click" onclick="btnClick()" />
<input type="button" id="btn2" value="click2" onclick="btn2Click()" />
<div id="ee" style="position: absolute; width: 100%; height: 100%; overflow: hidden;">
  <div id="tt" style="width: 100%; height:100%">
    <div id="gg" style="width: 100%; height:44px; background: black">
    </div>
  </div>
</div>

我应该只使用javascript而不是jQuery。

单击btn。 尝试获取clientWidth,

document.getElementById('gg').clientWidth;

Chrome和IE值不同。 在IE中,我希望获得与Chrome相同的结果。 如何获取更改后的宽度值?

1 个答案:

答案 0 :(得分:0)

这是由于浏览器的盒型。使用jQuery或其他JavaScript抽象库之类的东西来规范DOM模型。

jquery中的clientHeight和clientWidth等效为

$(window).width(), $(window).height()