性格いい人が優勝

前回、同じ質問をした者です。前回は、framesetを使っていて
この機能は何れは無くなると言う事で、再度の出直しと言う所
で、止まっていました。

今回、iframeを使う事にしましたので再度質問を出します。
今回のは、main.htmlのframesetが違うだけで、後は同じです。

前回の質問を再度掲載します。
下記のhtmlで、左にメニュー、右にその内容を表示する。
最初の開く時に、メニューの最後を選んで表示する。
と言う事は、javascriptで出来るのだろうか。

ファイルは下記の構成です。
main.html
menu.html
contents.html
180101-0300.html
180101-0400.html
180101-0500.html

main.htmlの内容
<HTML>
<HEAD>
<TITLE>サンプルページ</TITLE>
</HEAD>
<body>

<iframe src="menu.html" name="menu" width="10%" height="100%"align="left"></iframe>
<iframe src="contents.html" name="contents" width="80%" height="100%"align="left"></iframe>

</body>
</HTML>

menu.htmlの内容
<HTML>
<HEAD>
<TITLE>menu</TITLE>
<script src="http://ajax.googleapis.com/ajax/libs/jquery/1.12
<script src="./01.js"></script>
</HEAD>
<BODY>
<OL id="target">
<LI><A HREF="./180101-0300.html" target="contents">180101-0300</A></LI>
<LI><A HREF="./180101-0400.html" target="contents">180101-0400</A></LI>
<LI><A HREF="./180101-0500.html" target="contents">180101-0500</A></LI>
</OL>
</BODY>
</HTML>

contents.htmlの内容
<HTML>
<HEAD>
<TITLE>contents</TITLE>
</HEAD>
<BODY>
<P>
最初に表示される内容
</P>
</BODY>
</HTML>

180101-0300.htmlの内容
<HTML>
<HEAD>
<TITLE>180101-0300</TITLE>
</HEAD>
<BODY>
<P>
飲酒運転、現行犯で逮捕
</P>
</BODY>
</HTML>

180101-0400.htmlの内容
<HTML>
<HEAD>
<TITLE>180101-0400</TITLE>
</HEAD>
<BODY>
<P>
山岳遭難、救助ヘリ養成
</P>
</BODY>
</HTML>

180101-0500.htmlの内容
<HTML>
<HEAD>
<TITLE>180101-0500</TITLE>
</HEAD>
<BODY>
<P>
殺人未遂、現行犯逮捕
</P>
</BODY>
</HTML>

ここで、main.htmlを開くと左にmenu.htmlを
右にcontents.htmlが開く。

また、ここでjavascriptを起動させてmenu.htmlの
最後の要素を選択して180101-0500.htmlを右側に
表示をさせたい。

この様な事はjavascriptを使って動かす事は出来るのだ
ろうか。この時のjavascriptの定義は何処に保存をする
べきだろうか。ここでは、main.htmlかmenu.htmlの
両方が考えられるが。私としては、main.htmlに保存をしたい。

理由は、menu.htmlは絶えずデータの更新で上書きされる
為。

menu.htmlのolの最後を指定すれば、良いですが。
どの様にして、左の<ol><li>をクリックさせて
右側に表示をさせるのかが分かりません。

済みません。javascriptのソースで回答を願います。

質問者からの補足コメント

  • うーん・・・

    jqueryのloadでコールバック関数を定義する時に、
    メニューの最後を指定すると言う事でしょうか。

    例えば、$('#menu').load('menu.html',function (){
    //コールバック後のjavascriptをここに記述
    });

    ここで、読み込んだメニューの最後の要素はどの様にして
    取得するのでしょうか。

    最後の要素を使ってコールバック関数で指定をすれば
    右のiframeに表示をさせる事は出来ると思いますが。

    未だ、全体構成が見えていません。
    宜しくお願いします。

    No.1の回答に寄せられた補足コメントです。 補足日時:2017/11/30 16:45
  • うーん・・・

    最初の回答者の内容を再度注視をして見ると、
    何か勘違いをしている様にも見られる。

    と言うのは、ここではメニューを自動的に開く
    と言うのは、何もメニューを表示をしなさい
    と言う事では無いですよ。

    そうではなくて、メニューを表示をしてここでは
    最後のメニューをクリックしたいと言う事です。

    だから、ajaxでメニュー部分を読み込んで表示する方がよいのでは?
    と何を言わんかと言う質問が出るのではないでしょうか。

    この様な回答は私の質問から外れていますので
    次からは、的はずれな回答はご遠慮願います。

    ここでは、単刀直入にその物ズバリの
    最後のメニューをクリックする方法での
    回答をお願いします。

    ですから、ajaxでメニュー部分を読み込んで表示する方がよいのでは?
    と言うのは、ではそれを表示をして最後のメニューをクリック
    する事が出来るのですかと言う話に成ります。

      補足日時:2017/12/01 10:31
  • 質問が抽象的過ぎると言うのが、回答者の方から
    出ている様な気がしますので、一旦この問題はここ
    で締め切って再度質問を投稿します。

    一旦、ここで締め切ります。

    No.2の回答に寄せられた補足コメントです。 補足日時:2017/12/02 11:05

A 回答 (2件)

ちょっと何が言いたいかわかりませんが


フレームを引き合いに出しているから、フレームでやることは
いまはajaxでやるのが常識ですよとお伝えしただけです

「次からは、的はずれな回答はご遠慮願います。」という
ずいぶん不遜な反応しかできないようですしもう二度と回答しないので
ブロックしてください。
この回答への補足あり
    • good
    • 0
この回答へのお礼

有難う御座います。

それが回答ですか。
これも的はずれですが。

フレームの事は質問していないと思いますが。
本質的で無い回答は、聞いている本人には
たまりませんが。

あなたは、この様な体験を多分に
今迄経験をされて来ているのでは
ないでしょうか。

私があなたの立場ではこの様な返事は
絶対にしないで、謙虚にここは受け止めますが。

あなたの回答は残念でなりません。
もっと自分を大事にして下さい。
自滅のもとですよ。

お礼日時:2017/12/01 10:52

ajaxでメニュー部分を読み込んで表示する方がよいのでは?

この回答への補足あり
    • good
    • 0
この回答へのお礼

有難う御座います。

ajaxでメニューを読み込んで表示をするは、やった事が無いですが。
やって見ます。

これは、$('#menu').load('menu.html');の様に成るのでしょうか。
これならば、単にメニューが表示されるだけで、iframeでsrc="..."
を指定したのと何ら代わりはは無い様に思いますが。違うのでしょう
か。

それとも、私の考えているloadが間違っているのでしょうか。
ajaxでメニューを読み込んで表示をすると言うのが、どの構文
を使えば、良いのか良く分かりません。

出来れば、URL等を教えて貰えないでしょうか。

よろしく、お願いします。

お礼日時:2017/11/30 16:02

お探しのQ&Aが見つからない時は、教えて!gooで質問しましょう!