【发布时间】:2013-06-21 22:21:38
【问题描述】:
我最近开始学习 Web 开发,尤其是 Javascript,并且我正在尝试编写一些简单的函数来提高对语言的掌握。 我编写了一个函数来调整框的高度以使其与窗口成比例,但由于某种原因它不起作用 - 每次调整浏览器窗口大小时,调整大小函数都不会更新页面。我觉得我犯了一些非常愚蠢的错误,但是因为我不熟悉 Javascript,所以我无法弄清楚它是什么。
我的 HTML 非常简单:
<body>
<div id = "box">Hi.</div>
</body>
Javascript 代码是:
function resizeToScreen(element, percent)
{
var wHeight = window.innerHeight;
var objHeight = wHeight * (percent/100);
element.style.height = objHeight +"px";
}
window.onresize = resizeToScreen(document.getElementById('box'), 50);
这是 jsFiddle 的链接,它突出显示黄色框: http://jsfiddle.net/sallyg/mb8hB/1/
【问题讨论】:
-
您似乎正在立即执行
resizeToScreen函数。您需要提供对onresize的函数引用,以便在调整窗口大小时调用它。喜欢:window.onresize = function () { resizeToScreen(document.getElementById("box"), 50); };。您想在 DOM 准备好之后绑定事件(现在将它放在window.onload = function () { /* HERE */ };中应该没问题),以便在#box元素准备好之前不会发生调整大小跨度> -
@Ian 这个。我正要写下来,但你打败了我!
-
你为什么不使用简单的 CSS 为
div:height: 50%; -
@Teemu 是的,我有一种感觉,这可能不需要 JavaScript 就可以完成,但我没有充分研究这个问题,只是回答了眼前的问题。如果这样可行,您绝对应该发布答案
-
@Ian 我不知道,OP 清楚地询问为什么代码不起作用。你已经回答了这个问题,也许只是在你的答案中添加 CSS 东西......
标签: javascript web