« MacBook Proの不具合調整 | メイン | Windowsマシンを買いました »

IE7でサブメニューの表示が崩れる(mm_menu.js)

Dreamweaver 8のビヘイビアで、サブメニューを表示させる(たとえばこちらのページのメーカー名にマウスを移動させると表示するメニュー)設定を行うと、なぜかInternet Explorer7ではレイアウトが崩れて、最初の1文字目だけが表示されるという現象に陥っていました。

これを解消させる方法が、こちらのCre8asite Forumというところに書かれていました。現象は若干違う(この質問者は英語圏の方で、半角スペースを入れるとそこで改行されてしまうという現象の解決法でした)のですが、対処方法は同じでOKです。

対処方法は、サブメニューの設定をしたときに生成されるmm_menu.jsというファイルの一部分を修正するというものです。

function writeMenus(container) {
    .... some codes here ....
    menu.menuItemHeight = menu.menuItemHeight || defaultHeight;
    var itemProps = ''; <= ここを変更=> var itemProps = 'white-space:nowrap;';
    if( menu.fontFamily != '' ) itemProps += 'font-family:' + menu.fontFmaily+';';
     .... some codes here ....
}

この方法でうまくいきました。

IE7のベータ版のときからこの現象が出ていまして、正式版になれば解決するかなと思ったらそんなこともなく、Javascriptには詳しくない自分には対応できませんでした。ちなみに日本語でもこの現象を紹介しているサイトを探したのですが、探し方が下手だったのか、たどり着くことは出来ませんでした。

一応困っている方がいた場合があったらと思って、書いてみました。

コメント

ありがとうございます!!!
クレームになってしまうかもしれないところここのサイトで解決しました。
ほんとにほんとに感謝です。