纯JavaScript:在一个函数中结合onload和onresize?

时间:2017-04-02 04:55:28

标签: javascript

有点困在这里。

我正在尝试显示并输出内页的实时(响应)高度和宽度。

在这段代码中,我觉得我正在重复自己。反正是为了使代码看起来更清晰还是把它放在一个函数中?

就个人而言,我不想在这种情况下使用JQuery。

var pageSize = document.getElementById("innerSize");

window.onload = function() {
  var w = document.documentElement.clientWidth;
  var h = document.documentElement.clientHeight;

  pageSize.innerHTML = "Width: " + w + "<br>" + " Height: " + h;
}

window.onresize = function() {
  var w = document.documentElement.clientWidth;
  var h = document.documentElement.clientHeight;

  pageSize.innerHTML = "Width: " + w + "<br>" + " Height: " + h;
}
<div id="innerSize"></div>

1 个答案:

答案 0 :(得分:4)

  

在这段代码中,我觉得我正在重复自己。反正是为了使代码看起来更清晰还是把它放在一个函数中?

是的,你是在重复自己。一次性设置相同的功能(或者在单独的行中将它们分开 - 编码器选择),无论哪种方式,都将它们设置为相同的功能。

var pageSize = document.getElementById("innerSize");

window.onload = window.onresize = setWidth;

function setWidth() {
  var w = document.documentElement.clientWidth;
  var h = document.documentElement.clientHeight;

  pageSize.innerHTML = "Width: " + w + "<br>" + " Height: " + h;
}
<div id="innerSize"></div>