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'
});