- ベストアンサー
iframe内ページのページ内移動
- 親ページ「A」のiframeで「B」をよみこませる。親ページの先頭を常に表示させる方法について教えてください。
- 「B」には1月~12月までのカレンダー表がタテに並んでおり、1ヶ月分だけ表示させる。カレンダー間のページ内移動を可能にする方法を教えてください。
- 「A」を読み込んだ時点で、「B」の特定の月の部分のみ指定で見えるようにしたい。手動で表示する必要があります。
- みんなの回答 (2)
- 専門家の回答
質問者が選んだベストアンサー
>「indexを開いたときにiframe内ページをページの途中から表示させる方法」 index.html側から操作する事も可能かもしれませんが、 calender.html側で処理した方が楽だと思います。 window.onload = function(){ var today = new Date(); window.scrollTo(0,today.getMonth()*200); } こんな感じで、calender.htmlのonloadイベントを使います。 ------------------------------------------ ついでに、細かい所ですが、説明しておきます。 >function next() {window.scrollBy(0,200);void(0);} function next() {window.scrollBy(0,200);} ここにはvoid(0)は不要です。詳細は下記。 ><a onClick="next()">NEXT ▼</a> <a href="javascript:void(0)" onClick="next()">NEXT ▼</a> void(0)を書く必要があるのは、hrefの中です。 hrefを付けると、「NEXT ▼」がリンクの表示(通常は青色で下線付き)になり、リンクであることが分かりやすくなります。 hrefを付け、void(0)を書かないと、違うページに飛ばされる場合があります。 void(0)とは、値を何も返さない → ページを変更しない という、意味合いです。 ------------------------------------------ さらに細かい指摘ですが、カレンダーのスペルはcalendarですよ。
その他の回答 (1)
- venzou
- ベストアンサー率71% (311/435)
カレンダーの高さが決まっているのであれば、scrollTo()でスクロールさせるとか、どうでしょう? <a href="javascript:window.scrollTo(0,0);void(0);">▲LAST</a> 2007/MAY 5 <a href="javascript:window.scrollTo(0,400);void(0);">NEXT▼</a>
お礼
とても素早いご回答ありがとうございました。 アドバイス、とても参考になりました。javascriptのことはあまりわからないのですが、ご提示いただいたソースを参考にあれから調べて下記のようにすることにいたしました。無事上手くできました。 ---------------------------------------------------- function next() {window.scrollBy(0,200);void(0);} function last() {window.scrollBy(0,-200);void(0);} <a onClick="next()">NEXT ▼</a> <a onClick="last()">▲ LAST</a> ----------------------------------------------------- よろしければ、もう一つの問題である「indexを開いたときにiframe内ページをページの途中から表示させる方法」もご存知でしたらアドバイス頂ければと思います。 どうぞよろしくお願いいたします。
お礼
カレンダー側から操作するということを全く思いつきませんでした。 おかげさまでとても助かりました! 無事、思うとおりに動作させることができました。 しかも毎月月がかわるたびに表示位置を指定しなくてすむ方法をお教えいただきましたので、更新も負担がかからなそうです。 カレンダーのつづりも直しました。ちょっとしたところで教養のなさがでてしまいお恥ずかしいかぎりです。 void(0)に関するご説明も大変勉強になりました。 これからも自分でもっと理解を深めていこうと思います。 このたびは本当にどうもありがとうございました。