0

index.html 中的这段代码(没有 joomla):

<script>
    var left  = document.getElementById('zijmenu').offsetHeight;
    var right = document.getElementById('container').offsetHeight;
    document.write("hoogte linkerkant: ", left, " hoogte rechterkant: ", right);
    if (left < right)
       {document.getElementById('zijmenu').style.height = right;}
    else 
       {document.getElementById('container').style.height = left;}
</script>

工作正常:

<div id="zijmenu" style="height: 232px;">

当我在 Joomla 3.3 模板的 index.php 中添加相同的脚本时,结果是:

<div id="zijmenu" style="">

document.write 按预期工作:hoogte linkerkant:132 hoogte rechterkant:232

为什么它不接受风格?我似乎无法在任何地方找到答案......

帮助表示赞赏!

问候伦内克

4

1 回答 1

1

使用纯 javascript 设置样式时需要单位,并offsetHeight返回一个四舍五入的整数,因此您可能需要这样做

document.getElementById('zijmenu').style.height = right + 'px';

请注意,offsetHeight 仅在加载所有元素时返回正确的值,这可能是图像等问题,并且您只能通过 ID 获取元素,一旦它在 DOM 中可用,因此脚本应该在元素之后.

document.write不推荐作为旁注,因为如果在文档加载后调用它会覆盖文档。

于 2014-06-10T13:39:37.113 回答