Javascript 为什么';这不管用吗?风格变化
我一辈子都想不出为什么这样不行: javascript:Javascript 为什么';这不管用吗?风格变化,javascript,html,css,dom,Javascript,Html,Css,Dom,我一辈子都想不出为什么这样不行: javascript: //==================================// // resize_middle // //----------------------------------// // Resizes the content and left // // navigation div to make up the // // remains of
//==================================//
// resize_middle //
//----------------------------------//
// Resizes the content and left //
// navigation div to make up the //
// remains of available space. //
//==================================//
function resize_middle()
{
min_height = (window.innerHeight - 276) + "px";
middle_left = document.getElementById("middle_left");
middle_right = document.getElementById("middle_right");
alert("its not going to work!");
alert("here goes...");
alert(min_height);
middle_left.style.minHeight = min_height;
alert("it works!");
middle_right.style.minHeight = min_height;
}
//==================================//
// event handlers //
//==================================//
window.onload = resize_middle();
window.onresize = resize_middle();
html(仅显示头部的正文和javascript位):
右上角
中左派
中右翼
底部
我以前使用过这个,并且有一些代码的工作副本,只是略有不同,但它工作得非常完美。我一直收到调试警报,直到“它能工作!”,但我没有收到。提前谢谢,厄尔。您需要这个:
window.onload = resize_middle;
window.onresize = resize_middle;
window.onload = resize_middle;
window.onresize = resize_middle;
当前,您正在调用这些函数并将其返回值分配给事件。您想要的是将函数本身分配给事件,并让事件调用它们
旁注: 除非在别处定义了
resize\u middle
中的变量,并且您希望外部范围可以访问这些变量,否则在定义新变量时使用var
关键字是一种良好的做法
function resize_middle()
{
// Changed to use "var"
var min_height = (window.innerHeight - 276) + "px";
var middle_left = document.getElementById("middle_left");
var middle_right = document.getElementById("middle_right");
alert("its not going to work!");
alert("here goes...");
alert(min_height);
middle_left.style.minHeight = min_height;
alert("it works!");
middle_right.style.minHeight = min_height;
}
请在上阅读此资源。您需要此资源:
window.onload = resize_middle;
window.onresize = resize_middle;
window.onload = resize_middle;
window.onresize = resize_middle;
因为在调整函数的大小时,会立即处理函数,并将结果添加到事件中。您希望将函数本身添加到事件中,因此您可以取消()选项,除非您的函数返回一个函数供事件使用。哦,您在开玩笑吧!我真不敢相信!为什么这样做?@Ell:因为
resize\u middle
计算结果是函数,而resize\u middle()
计算结果是函数返回的值。/*自由形式的注释\n非常有用它们是*/
我强烈建议对JavaScript使用合适的调试器,比如Firefox。至少能让每个人都知道一次