ドロップダウンメニューのjqueryプラグインdroppyがIE6で表示できない件
jquery.droppyプラグインを使用してドロップダウンメニューを実現した。
ところがjquery本体を最新版(現在1.7.1)にしてIE6で見たところ、入れ子のサブメニュー(第二階層以降)が表示されない(Firefox10, Chrome, IE9は問題なし)。調べてみたところ、jquery-1.4.2までは表示でき、jquery-1.4.3以降が表示できなくなるようだ。
いまさらIE6のために修正するのも馬鹿らしいのだが、droppyプラグイン(0.1.2)を以下のように変更することで回避できた。
$ diff -u jquery.droppy.js.sv jquery.droppy.js --- jquery.droppy.js.sv 2011-10-13 12:26:00.000000000 +0900 +++ jquery.droppy.js 2012-03-08 14:47:04.000000000 +0900 @@ -42,7 +42,7 @@ var subnav = getSubnav(this); if (!subnav) return; $.data(subnav, 'cancelHide', true); - $(subnav).css({zIndex: zIndex++}).slideDown(options.speed); + $(subnav).css({zIndex: zIndex++, overflow: 'visible'}).slideDown(options.speed); if (this.nodeName.toLowerCase() == 'ul') { var li = getActuator(this); $(li).addClass('hover'); $
jquery 1.4.3のリリースノートを見たが、css()を書きなおしたか、slideDown()を変更したかのどちらの原因なのかははっきりわからない。