我在Dynamics CRM(2011年内部部署)中有一个iFrame,其中包含一个加载交易行项目的aspx文件(如发票行项目)。订单项的数量变化很大,从1到8,000。我需要调整iFrame的高度,这样它就不会显示垂直滚动条。我怎样才能做到这一点?现在我正在使用这个JS函数,但它非常不准确:
function setIframeHeight() {
var rowcount = getRowCount();
var multiplier = 19;
if (rowcount < 25) {
multiplier = 13;
}
else if (rowcount > 50) {
multiplier = 23;
}
else if (rowcount > 150) {
multiplier = 32;
}
window.parent.parent.frames[0].document.getElementById('IFRAME_TransactionProduct_RA_d').parentNode.height = rowcount * multiplier;
}
答案 0 :(得分:3)
您可以使用jquery offset()。top function:
通过获取页面上最低控件的顶部来确定页面的高度:
function setIframeHeight() {
var element = $('#idOfLowestControlOnPage');
window.parent.parent.frames[0].document.getElementById('IFRAME_TransactionProduct_RA_d').parentNode.height = element.offset().top + element.height();
}