2

我在 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;
    }
4

1 回答 1

3

您可以使用 jquery offset().top 函数:

http://api.jquery.com/offset/

通过获取页​​面上最低控件的顶部来确定页面的高度:

function setIframeHeight() {
    var element = $('#idOfLowestControlOnPage');

   window.parent.parent.frames[0].document.getElementById('IFRAME_TransactionProduct_RA_d').parentNode.height = element.offset().top + element.height();
}
于 2013-03-18T22:38:52.930 回答