我正在尝试向动态iframe高度添加固定数量的像素。如何向iframe高度添加静态像素数?我正在使用此javascript根据其内容调整iframe高度:
$(document).ready(function()
{
// Set specific variable to represent all iframe tags.
var iFrames = document.getElementsByTagName('iframe');
// Resize heights.
function iResize()
{
// Iterate through all iframes in the page.
for (var i = 0, j = iFrames.length; i < j; i++)
{
// Set inline style to equal the body height of the iframed content.
iFrames[i].style.height = iFrames[i].contentWindow.document.body.offsetHeight + 'px';
}
}
// Check if browser is Safari or Opera.
if ($.browser.safari || $.browser.opera)
{
// Start timer when loaded.
$('iframe').load(function()
{
setTimeout(iResize, 0);
}
);
// Safari and Opera need a kick-start.
for (var i = 0, j = iFrames.length; i < j; i++)
{
var iSource = iFrames[i].src;
iFrames[i].src = '';
iFrames[i].src = iSource;
}
}
else
{
// For other good browsers.
$('iframe').load(function()
{
// Set inline style to equal the body height of the iframed content.
this.style.height = this.contentWindow.document.body.offsetHeight + 'px';
}
);
}
}
);
当我在'px'之前添加例如数字'100'时,它只会将100放在当前iframe高度旁边。因此,如果我的iframe高度为200,如果我使用它,高度将为200100:
iFrames[i].style.height = iFrames[i].contentWindow.document.body.offsetHeight + '100px';
答案 0 :(得分:0)
当我在'px'之前添加例如数字'100'时,它只会将100放在当前iframe高度旁边。因此,如果我的iframe高度为200,则高度将为200100
由于+
是字符串连接的运算符以及普通的“plus”运算符,因此当您已经在字符串上下文中时会发生这种情况。
尝试使用parseInt
上的iFrames[i].contentWindow.document.body.offsetHeight
将其转换为数字,以便以下+
添加 100而不是连接它:
iFrames[i].style.height =
( parseInt(iFrames[i].contentWindow.document.body.offsetHeight) + 100 ) + 'px';