Javascript-форум (https://javascript.ru/forum/)
-   Общие вопросы Javascript (https://javascript.ru/forum/misc/)
-   -   Очередное увеличение высоты блока (https://javascript.ru/forum/misc/59413-ocherednoe-uvelichenie-vysoty-bloka.html)

Павел Турченко 10.11.2015 10:14

Очередное увеличение высоты блока
 
Добрый день!
Есть такая задача
<div id="myModal">
<input type="checkbox">
<div id="price" style="display:none"></div>
</div>

Модальное окно сверстанно на бутстрап2, надо что бы при клике по инпуту показывался/скрывался блок price (это реализовано), но тогда контент модального окна выпадает за границы модали. Я попытался реализовать установку высоты модального окна следующим образом:
var Num = document.body.clientWidth;
        	var width = +Num;
        	var display1 = document.getElementById("price").style.display;
        	if (display1 == "none" && width >= 979) {
        		document.getElementById("myModal").style.height = 870 + "px";
        	} else if (display1 == "block" && width >= 979) {        		
        		document.getElementById("myModal").style.height = 970 + "px" + "!important";
        	} else if (display1 == "none" && width < 979) {
        		document.getElementById("myModal").style.height = 1210 + "px";
        	} else if (display1 == "block" && width < 979) {
        		document.getElementById("myModal").style.height = 1330 + "px" + "!important";
        	};


Код устанавливает исходную высоту модали при загрузке, но при переходе от none в block он не увеличивается, что надо добавить, что б код начал функционировать, я так понимаю, что он проанализировал ситуацию на момент загрузки страницы и все. может изменение высоты надо реализовать через функцию клика по checkbox? Подскажите куда топать, не хочется весь день убить перебирая варианты....

ksa 10.11.2015 10:46

Цитата:

Сообщение от Павел Турченко
Подскажите куда топать

Таки сделать нормальную верстку того окна, дабы окно само растянулось под размер контента...

Павел Турченко 10.11.2015 10:56

Из-за того что это модаль из бутстрап2, то изначально высота у него была 600px и прокрутка, прокрутку надо было удалить и модальное окно растянуть на всю высоту, с этим был геморрой, поэтому возможность регулировки высоты окна я нашел только через фиксированную высоту при разных разрешениях и опциях...

Павел Турченко 10.11.2015 11:06

var Num = document.body.clientWidth;
var width = +Num;
var display1 = document.getElementById("price").style.display;
       if (display1 == "none" && width >= 979) {
        	document.getElementById("myModal").style.height = 870 + "px";
        } else if (display1 == "none" && width < 979) {
        	document.getElementById("myModal").style.height = 1210 + "px";
       	};
 	document.getElementById("site").onclick = function height_modal(){
        	if (display1 == "none" && width >= 979) {
        		document.getElementById("price").style.display = "block";
                document.getElementById("myModal").style.height = 1010 + "px";
            } else if (display1 == "block" && width >= 979) {  
            	document.getElementById("price").style.display = "none";             
                document.getElementById("myModal").style.height = 870 + "px";
            } else if (display1 == "none" && width < 979) {
            	document.getElementById("price").style.display = "block";
                document.getElementById("myModal").style.height = 1330 + "px";
            } else if (display1 == "block" && width < 979) {
            	document.getElementById("price").style.display = "none"; 
                document.getElementById("myModal").style.height = 1210 + "px";
            }
        	};

в общем решил вот такой аброкадаброй...


Часовой пояс GMT +3, время: 23:17.