EDIT
Это решение на самом деле не работает, теперь, когда я его протестировал. Мне нужно, чтобы подменю оставалось видимым, когда мышь выходит из ссылки. В этом случае это не так. Вернуться к чертежной доске ..
На самом деле получается, что мое оригинальное решение работает, но только если я поставлю
$("ul li.submenu ul").toggle(0);
перед ним (это переводит меню в противоположное и возвращается в исходное состояние, даже не подозревая об этом). Странно, но я могу жить с этим.
ОРИГИНАЛЬНЫЙ ОТВЕТ
Ну, через некоторое время, и довольно долго, глядя на код, размышляющий о том, что, черт возьми, с ним произошло, мне пришло в голову, что ссылка непосредственно в li.submenu
была установлена на display: block
, с шириной и высотой установить на 100%. На самом деле это нужно было изменить, в результате чего jQuery выглядел следующим образом:
$(document).ready(function () {
$("li.submenu > a").hover(
function () { $(this).closest("li.submenu").find("ul").slideDown("slow"); },
function () { $(this).closest("li.submenu").find("ul").slideUp("slow"); }
);
});
Вот и все ... проблема решена. Однако, кажется, требуется секунда или две, чтобы подобрать инструкции к слайду. Это просто означает, что если кто-то наводит указатель мыши на li.submenu
в течение одной или двух секунд после загрузки страницы, он будет отображать меню мгновенно, а не скользить - хотя я думаю, что это не проблема.
Надеюсь, это поможет кому-то в будущем.