• ベストアンサー

クリックすると切り替える

JavaScript初心者です。 ボタンをクリックすると、下のHTMLの部分をきり替えたいです。 フレームを使用したくなく、Javascriptで制作したいのですが、うまくいきません。 ■←ここを押すと(複数ボタンを配置予定) □←ここが切り替わる 大変困っています。よろしくお願い致します!!

この投稿のマルチメディアは削除されているためご覧いただけません。

質問者が選んだベストアンサー

  • ベストアンサー
  • yambejp
  • ベストアンサー率51% (3827/7415)
回答No.2

最近のブラウザならCSSだけでもいけそうですが、 IE6はだめそうなのでbehaiviorを設定しておくということで <style> div.hide{display:none;} div:target,div.target{display:block;} div{ behavior:expression(this.className=location.hash=="#"+this.id?"target":"hide") } </style> <ul> <li><a href="#a">aaa</a></li> <li><a href="#b">bbb</a></li> <li><a href="#c">ccc</a></li> <li><a href="#d">ddd</a></li> </ul> <div id="a" class="hide">contents a</div> <div id="b" class="hide">contents b</div> <div id="c" class="hide">contents c</div> <div id="d" class="hide">contents d</div>

pop0731
質問者

お礼

ありがとうございます!! とっても分かりやすいです! 早速、作ってみます!

その他の回答 (1)

  • yyr446
  • ベストアンサー率65% (870/1330)
回答No.1

 画像のようなメニュー(タブメニュー)をjavascriptでフレームを 使わず実現するには、表示する部分とクリックするそれぞれのタイトル部分 をカテゴリー毎に<div>要素に入れておきます。 javascriptでタイトル部分の<div>がクリックされたイベントを検知して、 対応する表示する部分の<div>のstyle属性のdisplayプロパティをnoneと blockにトグルさせる仕組みで実現できます。 それぞれの具体的な例は、ここにもたくさんでてると思います。 もし、面倒なのはいやだというなら、簡単に(タブメニュー)を設置する ためのjavascriptライブラリーという物があります。 ライブラリーはいろいろなタイプのが多数ありますが、詳しい設置方法 はそのライブラリーのサイトにたいていていねいに説明されています。 便利そうなのをいくつかあげておきます。 ThickBox 3.1 http://jquery.com/demo/thickbox/ jQuery UI Tabs http://jqueryui.com/demos/tabs/ jQuery Superfish http://users.tpg.com.au/j_birch/plugins/superfish/

pop0731
質問者

お礼

ありがとうございます。 詳しく書いて頂いて、本当に助かります!

関連するQ&A

  • WEB画面でのボタンクリック機能について

    すみません。困っていますので、教えてください。 VBScriptで色々処理をしているのですが、WEB画面で上下2フレームに分割した、上フレームに条件を入力して、配置したボタンをクリックすることにより、下フレームにその結果を表示させたいのですが、VBScriptで可能でしょうか。JavaScriptでないとやはりだめなのでしょうか。(なんらかの画面:html画面でも表示できれば何とかなりそうなのですが。)

  • 三分割フレーム(┤)で、左上のフレームの、

    HTML初心者です。 今、HPを作成中です。フレームを三分割しました。(┤)です。 左上のボタンをクリックして、右のフレームを変えること、左下のフレームを変えることは、教科書により、何とかできました。 質問は、 左上のボタンをクリックして、左下と右のフレームを同時に変えたいのです。 HTMLでは無理でしょうか。無理でしたら、Javascriptでもかまいません。 よろしくお願いします。

    • ベストアンサー
    • HTML
  • フレームでの右クリック禁止

    フレームを使って、画面を分割しているのですが、単体のHTMLを開くと次に示すJavascriptで右クリックが出来なくなりますが、フレームにしてしまうと、出来なくなってしまいます。 フレームにしても右クリックを禁止するには、どうしたらよいでしょうか? ご教授ください。よろしくお願いします。 <script language="JavaScript" type="text/javascript"> <!-- function contextmenu() { alert("右クリックは、使用できません。"); return false; } document.oncontextmenu = contextmenu(); --> </script>

  • リンククリック時 ターゲットフレームの自動スクロール

    左右にフレームで分けたHTMLファイルがあります。 左のフレームにはリンク集があります。 その中のあるリンクをクリックしたときに、 右のターゲットフレームにリンク先のURLを描画させています。 例えば<a href="http://www.xxx.html" target="frame_right"> のような感じです。 リンクをクリックして、描画したターゲットフレームの内容を、自動的に100pxだけ下にスクロールするようにするにはどのようにしたらよいでしょうか? もとのフレームセットのHTMLか、もしくは左フレームのリンク集の部分にJavaScriptを記述して実行したいと考えております。 ご教授よろしくお願いします。

  • 1つのファイルにデザイン(HTML)と計算処理(PHP)を記述していますが、分けたいと思っています。

    PHP初心者です。 1つのファイルにデザイン(HTML)と計算処理(PHP)を記述していますが、分けたいと思っています。 何か方法がありますでしょうか?よろしくお願いします。 (画面仕様) HTMLファイルにFRAME1とFRAME2という名前の2つのインラインフレームを配置しています。 FRAME1はHTMLファイル、FRAME2はPHPファイルを使用します。 FRAME1にはテキストボックス、FRAME2はボタンが表示されます。 (動作手順) 以下のような動作をします。 (1)FRAME1のテキストボックスの内容を変更、又はFRAME2のボタンを押す。 OnChange()又はOnClick()イベント時にJavaScript処理が実行される。 <JavaScript処理> FRAME2のURLを更新(テキストボックス内容をURLの引数にする) (2)FRAME2は更新されたのでボタンが再表示される。 PHPとJavaSctiptが記述されているので実行される。 <PHP処理> URL引数で渡された値を判定、計算 <JavaScript処理> FRAME1のテキストボックスにPHPで計算した値を表示 FRAME2に使っているファイルにHTMLとPHPとJavaScriptが一緒にかかれています。これを何とかしたいです。

    • ベストアンサー
    • PHP
  • 上フレームページと下フレームページが共にページのTOP(一番上)の位置

    上フレームページと下フレームページが共にページのTOP(一番上)の位置が見えるよなリンクの仕方を教えてください。 HTML初心者です。上下2つに分けたフレームページを作っています。 下フレームページの下の方の位置のリンクボタンをクリックすると上フレームページが見えなくなってしまいます。また下フレームページも下の方の位置へリンクしてしまいます。 下フレームページのどの場所のリンクボタンをクリックしても常に 上フレームページと下フレームページが共にページのTOP(一番上)の位置が見えるよなリンクの仕方をご教授ください。初心者ですのでなるべく簡単で具体的なHTMLの書き方を教えてください。 どうぞよろしくお願い致します。

    • ベストアンサー
    • HTML
  • フレームが入れ子状態です。ファイルを指定して印刷したいのですが

    下記のようにフレームが3つに分かれており、さらにmain.htmlは2つのフレームにわかれています。 bottom.htmlに印刷ボタンを配置し、クリックすると、test02.htmlのみを印刷できるようなプロパティ画面を起動したいのです。 index.html    top.html    main.html       test01.html       test02.html    bottom.html 環境はWin IE5.5以上 使用言語は、HTML、CSS、Javascriptです。 どなたかよい方法を教えてください。よろしくお願いします。

  • インラインフレーム内のマウスクリックを止めたい

    親ページに3つリンクボタンを横並びで配置し、リンクボタンのリンク先をフレーム内にして、リンク毎にインラインフレーム内のページが変わるHPページを作りました。 で、インラインフレーム内をクリックすると、3つめ(横並びのボタンの右)のリンク先のページへフレーム内の表示が飛ぶ現象が出ています。 インラインフレーム内にはクリックする要素は置いていないので、’クリック不可’とか何らかの方法で、フレーム内がクリックに反応するのを止めたいのですが、簡便な方法はありますか? ちなみに、フレーム内はどこでもクリックに反応するのではなく、フレーム内の文章の記述が終わった後の下部の余白部分のみ反応します(マウスポインタもクリック可の画像に変化)

    • ベストアンサー
    • HTML
  • 子ウィンドウ内にあるフレームセット内のフレームからの親ウィンドウリロード

    初めまして。JavaScript初心者です。 今回、以下のようなことをやろうと考えております。 (1)あるウィンドウフレームセット(フレームセット(1)とします)を配置し、フレームでウィンドウを2分割し、上半分のフレーム名をフレームA、下半分のフレーム名をフレームBとします。 (2)フレームAに配置されたボタンを押すことにより、別のウィンドウを呼び出します。そのウィンドウにもフレームセット(フレームセット(2)とします)を配置し、そのフレームセット内もフレームを2分割し、上半分のフレーム名をフレームC、下半分のフレーム名をフレームDとします。 (3)フレームCに配置されたボタンを押すことにより、フレームD内にさらにフレームセット(フレームセット(3)とします)を配置し、フレームセット(3)内もフレームを2分割し、上半分のフレームをE、下半分のフレームをFとします。 (4)フレームEに配置されたボタンを押すことにより、フレームBをリロードします。 (1)~(3)はすべて正常に処理できるのですが、(4)がうまくいきません。 window.opener.フレームB.location.replace("フレームBのURL") でうまくいくと思ったのですが、うまくいきません。  つたない質問の書き方で大変申し訳ありませんが、どなたか分かる方がいらっしゃいましたらご教示いただけないでしょうか。宜しくお願い致します。

  • 汎用ボタンについて

    質問させてください。 WEBの画面上に3つのボタンを配置させ、 ボタンを押すごとに指定したHTMLが画面に表示されるように したいのですが、どのようにすればいいでしょうか? できればリンクではなくあくまでボタンを使用したいと 考えています。 JavaScriptを使用してもかまいません。 簡単でかまいませんので宜しくお願い致します。

    • ベストアンサー
    • HTML

専門家に質問してみよう