为什么这个Javascript不起作用?风格变化

Ell*_*Ell 3 html javascript css dom

我不能为我的生活弄清楚为什么这不起作用:

JavaScript的:

//==================================//
// 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();
Run Code Online (Sandbox Code Playgroud)

html(仅显示头部的主体和javascript位):

<script src="javascript.js" type="text/javascript" charset="utf-8"></script>
<body>
    <div id="container">
        <div id="central_column">
            <div id="top_left">
                <img src="./images/icon.png" alt="icon" style="width:100%;height:auto;" />
            </div>
            <div id="top_right">
                top right
            </div>
            <div id="middle_left">
                middle left
            </div>
            <div id="middle_right">
                middle right
            </div>
            <div id="bottom">
                bottom
            </div>
        </div>
    </div>
</body>
Run Code Online (Sandbox Code Playgroud)

我之前使用过这个,并且只有一些略有不同的代码的工作副本,但它完美无缺.我得到调试警报,直到"它工作!",我没有得到.在此先感谢,ell.

Kur*_*rru 6

你需要这个:

window.onload = resize_middle;
window.onresize = resize_middle;
Run Code Online (Sandbox Code Playgroud)

因为有了resize_middle(),所以立即处理函数并将结果添加到事件中.您希望将函数本身添加到事件中,因此除非函数返回要使用的事件的函数,否则不要使用().