Событие ресайза
Суть вот в чем в 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, время: 17:53. |