Событие ресайза
Суть вот в чем в CSS3 есть такая фишка как высота элемента в vh, при значении 100 растягивает блок на высоту окна. К сожалению не все браузеры его поддерживают. Пытаюсь реализовать данную функцию через jQuery, таким образом
$(document).ready(function(){
h = $('#menu').css('height'); // узнаем высоту блока (проверяем работает ли vh)
if(h == '0px'){ //если не работает, делаем симуляцию
h_doc = $(document).height();
$('.vh').css('height', h_doc);
vh = false;
}
$(window).resize(function(){ //изменяем значение при ресайзе окна
if(vh == false){
h_doc = $(document).height();
console.log(h_doc);
$('.vh').css('height', h_doc);
}
});
});
Но при изменение размера окна, переменная h_doc суммируется. То есть консоль выдает следующее: 8176 16352 32704 65408 130816 261632 523264 1046528 В чем может быть дело? |
Высота документа != Высота окна, ты вкурсе?
Ты когда увеличиваешь высоту .vh, то также наращивается высота документа, то есть из-за обратной связи высота постоянно растет. И где потерял ключевое слов "var" перед объявлением переменных? Цитата:
Также непонятно, зачем ты вешаешь обработчик window@resize даже если браузер поддерживает vh? Ну и код дублировать - это не есть гуд. |
Был неправ насчет 0px. Оно может быть, но только если див пустой. Вобще я был бы тут поосторожнее с условием.
|
| Часовой пояс GMT +3, время: 13:39. |