次のコードは、IE9+、Chrome、Firefox、Safari では正常に動作しますが、IE8 では動作しません。列の高さを常に 0 として返し、幅を間違って返します。アイデア?
jQuery バージョン: 1.9.1
$(function ()
{
$(window).load(function ()
{
// Megamenu
$("#menu-primary > li").one('mouseenter', function (e)
{
var tallestColumnHeight = 0,
submenuPanelTotalWidth = 0;
$(".dropdown-menu > .dropdown-submenu", this).each(function ()
{
$(this).load();
tallestColumnHeight = Math.max(tallestColumnHeight, $(this).height())
console.log('tallest column ' + tallestColumnHeight);
submenuPanelTotalWidth += parseInt($(this).outerWidth(true), 10);
console.log('panel width ' + submenuPanelTotalWidth);
}).height(tallestColumnHeight);
$(".dropdown-menu > .dropdown-submenu", this).parent().width(submenuPanelTotalWidth);
});
});
});
Doctype は次のようになります。
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">