jquery.position() не работает правильно

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

К сожалению, позиционирование не выполняется несколькими различными способами:

  • В Firefox кажется, что выпадающие списки смещены примерно на -100 25 пикселей
  • первый элемент в списке имеет другое смещение на левой стороне по сравнению с другими элементами
  • Смещение в IE не такое, как в FF
  • Повторное позиционирование в проводнике приводит к различным позициям каждый раз.

Я создал тестовую страницу, где вы можете увидеть эффекты: http://test.evju.biz/test/test_position.html

1 ответ

Решение

Мы решили это, не используя jquery.ui.position. Вот код, который мы в итоге использовали:

$(this).find("ul.subnav").first().css({
                left: $(this).position().left + 'px',
                top: ($(this).position().top + $(this).height()) + 'px'
            });
Другие вопросы по тегам