2014-09-27 55 views
0

我有添加更多附件功能。每次點擊按鈕時,都會顯示一個附件,這會導致頁面變長。我寫了一個語法來檢測附件出現後的身體高度,但不知何故它不起作用。請幫忙。檢測身體的高度

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 
+1

什麼是你想達到什麼目的? – charlietfl 2014-09-27 12:52:50

回答

0

this你想要的嗎?

當您向其中添加元素時,身體會自動變長。這是元素高度未設置時的默認行爲。

我目前無法閱讀文檔,但很明顯,這隻適用於頁面加載。請更正確地閱讀文檔。

$('body').on('load', function()) 
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 
+0

謝謝你,維托裏諾。你的代碼運行良好。 – 2014-09-28 13:06:11

+0

你的歡迎很高興幫助,但我不認爲你想要這個:) – 2014-09-28 13:11:55

0

第一爲什麼你明確地將高度設置爲body$('body').height(bodyAfterClick);

如果你有檢測body高度,你可以試試這個 -

$(document).height() - $('body').offset().top; 

參考鏈接 - jQuery $("body").height() returns undefined

+0

謝謝你,WisdmLabs!哇,有很多方法可以這樣做。再次感謝 – 2014-09-28 13:07:22