index.html(no 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
为什么不采用这种风格? 我似乎无法在任何地方找到答案......
非常感谢帮助!
此致 Lenneke
答案 0 :(得分:0)
使用普通javascript设置样式时需要单位,而offsetHeight
会返回舍入整数,因此您可能需要执行
document.getElementById('zijmenu').style.height = right + 'px';
请注意,offsetHeight仅在加载所有元素时返回正确的值,这可能是图像等的问题,并且只有在DOM中可用时才能通过ID获取元素,因此脚本应该在元素之后。
不建议使用旁注document.write
,因为如果在文档加载后调用文档,它会覆盖文档。