#javascript #html #height
#javascript #HTML #высота
Вопрос:
Я получил боковую панель, которую необходимо настроить в соответствии с размером документа. Это работает отлично, его этот код:
<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 amp;amp; 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 ().
Комментарии:
1. Да, 100% не работает, потому что у меня есть элементы в шаблоне, которые не растягиваются вместе с ним. Таким образом, с помощью javascript я могу получить истинную полную высоту. И как я могу создать такую функцию?