我正在尝试刷新我在页面加载时在div上设置高度的javascript。
<script>
jQuery(function($) {
$('#bloc2').height($('#zonetexteposition').height());
$('#bloc2-vertical').height($('#zonetexteposition').height());
$('#bloc2-horizontal').height($('#zonetexteposition').height());
});
</script>
到现在为止,一切正常。我的div正从div #zonetexteposition获得正确的高度。
问题是,它只计算onload的页面高度。我的F.A.Q页面中有问题,并且在点击问题时出现了anwser,因此它改变了我的div #zonetexteposition的高度。由于javascript只运行onload,它不会调整到#zonetexteposition的新高度。所以我想知道是否有可能制作一个脚本,可以刷新上面的脚本点击一个问题。
谢谢,希望很明白
答案 0 :(得分:1)
将您完成的所有代码包装到一个函数中,然后,当页面加载时,调用该函数,每当您单击所需元素时,调用相同的函数。
答案 1 :(得分:1)
创建一个具有计算的函数:
function foo () {
$('#bloc2').height($('#zonetexteposition').height());
$('#bloc2-vertical').height($('#zonetexteposition').height());
$('#bloc2-horizontal').height($('#zonetexteposition').height());
}
向按钮添加事件监听器:
$("button").on('click', function(event) {
foo();
//anything you want on the click also
});
在加载时调用该函数:
jQuery(function($) {
foo();
});
答案 2 :(得分:1)
一个快速的答案是:而不是每次计算高度,只需在DOM负载上设置最小高度而不是高度。
就像那样:
$('#bloc2, #bloc2-vertical, #bloc2-horizontal').css('min-height',$('#zonetexteposition').height());
所以你不必在DOM加载后重新计算容器的高度,因为容器会“自然地”处理它变得更大。
Tout simplement:)