Не забудьте добавить Doctype к вашей разметке, потому что без него IE работает в режиме quirks и, о, да, это отстой. И еще, не забудьте закрыть свои теги, отличные браузеры не будут заботиться, если вы не закроете, или, по крайней мере, постараетесь это исправить, но IE сойдет с ума.
Итак, первое, что вы должны сделать, это:
<!doctype html>
<html>
<head>
<!-- bla bla bla -->
</head>
<body>
<div id="menu">
<ul>
<!-- bla bla bla -->
</ul>
</div>
</body>
</html>
Обратите внимание на тип документа и закрывающие теги body
и html
.
Теперь, где произойдет магия, с помощью JavaScript:
$(function() {
$("#menu").find("li").each(function() {
var $el = $(this);
if ($el.find("ul").length > 0) {
$el.mouseenter(function() {
$el.find("ul").stop().css("width", $(window).width()).slideDown();
});
$el.mouseleave(function() {
$el.find("ul").stop().slideUp();
});
}
});
});
Имейте в виду, что этот код обновит ширину ul с точной шириной окон, поэтому я избавился от оператора width: 100%;
в #menu ul ul
.
Надеюсь, что это работает. Ссылка: http://jsbin.com/oliya3.