- 締切済み
javascript プルダウンメニューバーが画像サイズをかえると位置ずれる
ホームページを作成しているのですが、javascript??を使ってレイヤーを作り中にリンク画像をいれてプルダウンメニューとして作りました。 ページを開くと一応希望通りの場所にいてくれて動きもリンクも大丈夫でした。がページを開いてウィンドウサイズを小さくしたりフル画面にするとプルダウンメニューの位置がずれてとんでもないところに表示されてしますます、初心者なのでスクリプトはコピーペーストしてGoliveで作成したページに張り付けたのですが。。。プルダウンメニューが固定できればとおもいます、。 どなたかわかる方いましたらアドバイスおねがいいたします。
- みんなの回答 (2)
- 専門家の回答
みんなの回答
- VCAT
- ベストアンサー率20% (16/79)
プルダウンではなくて、CSSのvisible変更ではないですか(DHTMLなど)。用語は正確に使いましょう。プルダウンでは画像は表示できません。
どのようなスクリプトを書かれたかがわからないので、 添削のしようがありません。 また、コピーで作られたと言うことは、誰か別の方が作られた物ですよね? それを作られた方に作り直してもらってはいかがでしょうか?
お礼
ありがとうございます、もともとあるホームページをリニューアルというかたちで画像をおきかえてみたのですが、前回のホームページですと位置がずれていないのですが内容をコピーペーストで画像をかえてみたらずれていました、すみません長いのですがくっついているスクリプトをのせてみました。長くてごめんなさい
補足
<!-- サブメニュー横座標 --> function WinSize() { var pdw_x; var WinSize = document.body.clientWidth; if ( WinSize > 750 ) { pdw_x = (WinSize - 750) / 2 + 220; } else { pdw_x = 220; } document.getElementById("Layer1").style.left = pdw_x; } function WinSize2() { var pdw_x; var WinSize = document.body.clientWidth; if ( WinSize > 750 ) { pdw_x = (WinSize - 750) / 2 + 300; } else { pdw_x = 320; } document.getElementById("Layer2").style.left = pdw_x; } function WinSize3() { var pdw_x; var WinSize = document.body.clientWidth; if ( WinSize > 750 ) { pdw_x = (WinSize - 750) / 2 + 490; } else { pdw_x = 480; } document.getElementById("Layer3").style.left = pdw_x; } function WinSize4() { var pdw_x; var WinSize = document.body.clientWidth; if ( WinSize > 750 ) { pdw_x = (WinSize - 750) / 2 + 600; } else { pdw_x = 600; } document.getElementById("Layer4").style.left = pdw_x; } var openedMenu = null; var submenuTimer; //画像メニューにポインタがきた時 function menuOvr(id){ // 開いているメニューと違うメニューであれば隠す。 if (openedMenu && openedMenu != id){ CloseMenu(id); } // サブウィンドウの表示 OpenMenu(id); } //レイヤメニューの表示 function OpenMenu(id){ if ( document.getElementById ){ document.getElementById( id ).style.visibility = 'visible'; }else if ( document.all ){ document.all( id ).style.visibility = 'visible'; }else if ( document.layers ){ document.layers[ id ].visibility = 'show'; } clearTimeout(submenuTimer); openedMenu = id; } //レイヤメニューを隠す function CloseMenu(){ if ( document.getElementById ){ document.getElementById( openedMenu ).style.visibility = 'hidden'; }else if ( document.all ){ document.all( openedMenu ).style.visibility = 'hidden'; }else if ( document.layers ){ document.layers[ openedMenu ].visibility = 'hide'; } openedMenu = null; } function MM_reloadPage(init) { //reloads the window if Nav4 resized if (init==true) with (navigator) {if ((appName=="Netscape")&&(parseInt(appVersion)==4)) { document.MM_pgW=innerWidth; document.MM_pgH=innerHeight; onresize=MM_reloadPage; }} else if (innerWidth!=document.MM_pgW || innerHeight!=document.MM_pgH) location.reload(); } MM_reloadPage(true);
補足
ありがとうございます、勉強になります。CSSになにか加えるとレイヤーが固定される技があるのでしょうか?よろしくお願いします。