2011-10-19 74 views
0

我有一個需要調整文檔大小的邊欄。這完美的作品,它的這段代碼:javascript高度文檔自動調整

<script type="text/javascript"> 
     $(document).ready(function(){ 
     $("#sidebar").height($(document).height()); 

    }); 
    </script> 

但現在我在我的網站的形式,用JavaScript當你把選擇改變大小。換句話說,當你輸入多個選項時,整個文檔會變得更長。但是這個腳本並沒有適應這種情況,所以當你輸入更多選項時,邊欄就會被切斷。

所以與其他詞有沒有讓這個腳本自動調整還是讓下面的腳本重新運行該功能時,它返回一個可能性:

<script> 
     treated = new Object(); 
     inputNumber = 1; 

     function addOne() { 

      //Create an input type dynamically. 
      var divElement = document.createElement("div"); 

      var element = document.createElement("input"); 
      inputNumber++; 
      element.setAttribute("name", "input" +inputNumber); 
      element.setAttribute("onkeyup", "if (this.value.length > 1 && treated[this.name] != 1){ addOne(); treated[this.name] = '1'; }"); 
      element.setAttribute("id", "productoptiesadd"); 

      var price = document.createElement("input"); 
      price.setAttribute("name", "price" +inputNumber); 
      price.setAttribute("id", "productoptiesaddprice"); 

      var foo = document.getElementById("japroductopties"); 

      var htag = document.createElement("h7"); 
      htag.innerHTML = "Optie " + inputNumber + ":"; 

      var htags = document.createElement("h7"); 
      htags.innerHTML = " € "; 

      divElement.appendChild(htag); 
      divElement.appendChild(element); 
      divElement.appendChild(htags); 
      divElement.appendChild(price); 
      foo.appendChild(divElement); 
      } 
    </script> 

希望some1可以幫助:)。

回答

1

爲什麼不在您的樣式表中將#sidebar height屬性設置爲100%? Javascript真的需要嗎?

否則,只寫一個函數SidebarAutoAdjust()與你的第一個代碼段:

$("#sidebar").height($(document).height()); 

然後,所有你所要做的就是調用你的addOne()函數結束此功能。

+0

是的,100%不起作用,因爲我得到的模板中的元素不適合它。所以用JavaScript我可以採取真正的全高。我怎樣才能做出這樣的功能? – Augus

+0

nvm我試了一下,它與你的解決方案一起工作! – Augus