У меня есть простое меню пользовательского интерфейса jQuery с полосой заголовка сверху:

<div style="width: 100%; min-height: 100px;"></div>
<ul id="menu" style="width: 100px;">
  <li><a href="#">Item 1</a></li>
  <li><a href="#">Item 2</a></li>
  <li><a href="#">Item 3</a>
    <ul>
      <li><a href="#">Item 3-1</a></li>
      <li><a href="#">Item 3-2</a></li>
      <li><a href="#">Item 3-3</a></li>
      <li><a href="#">Item 3-4</a></li>
      <li><a href="#">Item 3-5</a></li>
    </ul>
  </li>
  <li><a href="#">Item 4</a></li>
  <li><a href="#">Item 5</a></li>
</ul>

<script type="text/javascript">
    $(document).ready(function(){
        $("#menu").menu();
    });
</script>

Скрипка здесь: http://jsfiddle.net/uW44Y/

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

menu

0
AJ. 17 Дек 2013 в 20:43

2 ответа

Лучший ответ

API меню пользовательского интерфейса jQuery поддерживает атрибут position: http: //api.jqueryui. ru / menu / # option-position. Попробуйте что-нибудь вроде $("#menu").menu({position: {my: 'left bottom', at: 'top right'}});

3
Palpatim 17 Дек 2013 в 16:47

Вы можете использовать параметр jQuery position для настройки положения подменю.

Ref :

Определяет положение подменю по отношению к соответствующему родительскому элементу меню. Параметр of по умолчанию соответствует родительскому элементу меню, но вы можете указать другой элемент для позиционирования. Вы можете обратиться к утилите jQuery UI Position для получения дополнительных сведений о различных параметрах.

Позиция пользовательского интерфейса jQuery: http://api.jqueryui.com/position/

Код:

$("#menu").menu({
    position: {
        my: 'left bottom',
        at: 'right bottom'
    }
});

Демо: http://jsfiddle.net/89Wpf/

1
Irvin Dominin 18 Дек 2013 в 08:16