检测身体的高度

时间:2014-09-27 12:40:55

标签: javascript jquery html

我有一个Add More Attachments功能。每次单击该按钮时,都会显示另一个附件,这会导致页面变长。我写了一个语法来检测附件出现后身体的高度,但不知何故它不起作用。请帮忙。

Live Code

HTML

<input type="file" /></div><button id="addNew">Add</button>

<div class="attachField"></div> 

JS

    var i=0;
    $('#addNew').click(
        function()
            {
                if( i < 10)
                {
                i++;
                $('.attachField').append( '<div class="attachFile"><input type="file" /></div>' );
                }

                $('body').on('load', function()
                    {
                        var bodyAfterClick = $(this).contents().height();
                        alert(bodyAfterClick);
                        $('body').height(bodyAfterClick);

                    });
    }); //end click

3 个答案:

答案 0 :(得分:0)

this你想要的是什么吗?

向元素添加元素时,Body会自动变长。当未设置元素的高度时,这是默认行为。

我现在无法阅读文档,但显然这只适用于页面加载。请更正确地阅读文档。

$('body').on('load', function())

答案 1 :(得分:0)

根据你的代码我明白你需要在追加输入时找到身体的高度

对您的代码进行了一些更改

JS Fiddle

        var i = 0;
        $('#addNew').click(

        function () {
            if (i < 10) {
                i++;
                $('.attachField').append('<div class="attachFile"><input type="file" /></div>');

                a = $('body').height()
                console.log(a)
                alert(a)

            }


        }); //end click

答案 2 :(得分:0)

首先,为什么要明确将body $('body').height(bodyAfterClick);设置为body

如果你必须检测$(document).height() - $('body').offset().top; 身高,你可以试试这个 -

{{1}}

参考链接 - jQuery $("body").height() returns undefined