YUI меню рендеринга ниже "сгиба" при первом открытии

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

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

я обнаружил добавление стиля отображения: ни один в div не убивает пустое пространство... но тогда YUI не устанавливает блокировку дисплея, что, как я понял, должно... так что я написал другой метод, который бы это делал вручную... но происходит то же самое, сначала меню отображается ниже сгиба, что требует от пользователя прокрутки.... 2-й раз, когда работает нормально... по какой-то причине верхние / левые позиции не рассчитываются должным образом при первом нажатии и я не могу понять, почему

2 ответа

Решение

Хорошо, поэтому я исправил это, просто добавив стиль в div, который содержит меню со следующими атрибутами:

    position: absolute;
    left:0px;
    top:0px;

Таким образом, он будет рисовать div в левом верхнем углу экрана, где всегда будет контент, и, следовательно, не будет создавать пробелы. Пробел создавался при том, что YUI использует видимость: скрытый вместо отображения: нет

Вы пытались использовать constraintoviewport свойство для параметров конфигурации меню (найдите его в YUI.widget.Menu):

(Унаследовано от YAHOO.widget.Overlay.) Логическое значение, указывающее, будет ли Меню пытаться оставаться в границах размера области просмотра. Это свойство применяется только в том случае, если свойство конфигурации "position" имеет динамическое значение и автоматически применяется ко всем подменю.

Если вы используете YUI.widget.Button Я полагаю, вы можете получить ссылку на Overlay свойство этого объекта и набора constraintoviewport в true сюда.

Другие вопросы по тегам