如何将html中组件的高度设置为父组件的高度



我正在开发一个web应用程序,我们正在用Java和jsf开发它。我制作了一个用于选择数据的组件,该组件在其他组件(如向导、模态面板等)中使用。问题是,我需要将组件的高度设置为其内部向导高度的百分比。我尝试过使用javascript,但问题是当我在组件中使用window.onload命令时,它不起作用。现在我只是想提醒()父组件的高度,但它不起作用。这是我的代码:

<script type="text/javascript">
    <![CDATA[
    window.onload = setHeight;
    function setHeight()
    {
        var element = document.getElementById("#{rich:clientId('mainWizardDiv')}");
        var h = window.getComputedStyle(element, null).getPropertyValue("height");
        alert(h);
    }
    ]]>
</script>

你有没有其他的建议可以做到这一点,我可以使用onload,或者任何其他的想法。谢谢

无法获得百分比高度(谷歌搜索高度百分比是有原因的)。获取以像素为单位的绝对高度,在Javascript中计算它(不要忘记四舍五入),并将结果加载到您想要的元素中(添加"px"字符串只是为了确定)。这一直对我有效。

编辑:(发表评论后)

也许,我能看出错误。您正在分配未定义的函数。首先,您必须定义函数,然后使用它

CDATA使用不当:应注释CDATA以避免js语法错误:

<html>
    <head>
        <script type="text/javascript">
            //<![CDATA[
            window.addEventListener('load', setHeight);
            function setHeight()
            {
                var element = document.getElementById("div1");
                var h = window.getComputedStyle(element, null).getPropertyValue("height");
                alert(h);
            }
            //]]>
        </script>
    </head>
    <body>
        <div style='height:200px; width:200px;' id='div1'>
        </div>
    </body>
</html>

相关内容

  • 没有找到相关文章

最新更新