我有一个在iframe中打开url的thickbox。最初,当thickbox加载时,我隐藏了一个div。稍后,通过链接的单击函数,div就可见了。现在我已经将thickbox设置为初始iframe内容的高度,这样空白就最小化了。因此,当显示隐藏的div时,粗框会带滚动条出现。
我可以在点击链接时动态增加粗框的高度吗?从而避免滚动条?
在thickbox.js文件中手动设置了thickbox的高度。我没有传递高度和宽度参数。
TB_WIDTH = (params['width']*1) + 30 || 980; //width need not change
TB_HEIGHT = (params['height']*1) + 40 || 650;//need to change this to 1150 on clicking a link
编辑
//Parent page
<a href="thickbox.html" id="lightboxLink" class="thickbox"></a> //Opens the thickbox
//Thickbox content
<div id="main-content">
//Content
</div>
<div id="other-content" class="hidden"> //hidden div
// Div content
</div>
<a id="more-info" href="#" >Show more information</a>
//js
$('#more-info').click(function() {
$('#other-content').show();
});
thickbox应该有一个包含iframe的div。在我看到的例子中,这个div的ID是TB_Window
。假设您的情况与此相同,您可以在jQuery代码中执行以下操作:
$('#more-info').click(function() {
$('#other-content').show();
var thickboxHeight = parseInt($('#TB_Window').css('height'));
var otherHeight = parseInt($('#other-content').css('height'));
$('#TB_Window').css('height', (thickboxHeight + otherHeight).toString() + 'px');
});
或者如果你只需要将其设置为1150px(就像在你的代码注释中看到的那样),这要简单得多:
$('#more-info').click(function() {
$('#other-content').show();
$('#TB_Window').css('height', '1150px');
});