Странный вопрос выпадающего меню JQuery? - PullRequest
1 голос
/ 11 ноября 2011

У меня очень странная ошибка на сайте: http://brightsystems.eu/vini/index.php/en Главное меню иногда портится.Самое странное, что если я дважды щелкну по обновлению браузера, шансы на то, что страница будет отображаться правильно после этого.На самом деле нет никакого способа, просто то, что обычно во время сеанса меню внезапно портится.

При локальной разработке сайта это никогда не было проблемой.Я почти уверен, что CSS в порядке, иначе он вообще не будет отображаться правильно.

Я внес быстрое исправление, которое обновляет каждую страницу, как только она загружается, что работает, новряд ли это долговременное решение.

Главное меню создается в jquery и на сайте с использованием фреймворка yii.

У кого-нибудь есть похожий опыт или решения?

1 Ответ

1 голос
/ 11 ноября 2011

Мега-меню автоматически рассчитывает верхнее смещение выпадающего меню из высоты основного контейнера.

http://brightsystems.eu/vini/js/jquery.dcmegamenu.1.3.3.js line 200
var menuHeight = $('> li > a',$dcMegaMenuObj).outerHeight(true);

Возможная причина сбоя в том, что иногда menuHeight вычисляется до полного отображения главного меню. И возможные решения:

1) <ul id="main-menu" class="mega-menu"> должна иметь фиксированную высоту, определенную в css (34px или около того).

2) Мега-меню должно быть запущено после небольшой задержки, чтобы убедиться, что главное меню полностью отображено. (плохое решение)

Изменить:

попробуйте исправить это в green.css

.green ul.mega-menu li a.dc-mega {
    position: relative;
    height: 34px;                 <-- add this 
}
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...