• ベストアンサー

スクロールしても位置の変らないブロック

下記のようなページがあります。 上部にページ内検索窓があります。 下に長いページです。 この時、下にスクロールしていっても上部の検索窓が常に上部に見えているようにしたいのですが・・。

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

  • ベストアンサー
noname#199778
noname#199778
回答No.2

DHTMLを使えば、一応可能だと思います。 試しに作ってみました。 head内に以下のソースを入れてみてください。 <script type="text/javascript"><!-- function init(){ if (document.getElementById){ MVON=setInterval("againstScroll()",10); } } function againstScroll(){ obj=document.getElementById("dialog").style; if (navigator.appName.match("Internet Explorer")){ if (document.compatMode=="BackCompat"){ obj.top=document.body.scrollTop+"px"; } else { obj.top=document.documentElement.scrollTop+"px"; } } else{ obj.top=pageYOffset+"px"; } } window.onload=init; // --></script> 検索窓部分のソースについては、以下のdiv要素で括るか、その要素自体に同様のid設定とスタイルシート指定をしてください。 <div id="dialog" style="position: relative; top: 0; z-index: 1; background-color: white;"></div> idはスクリプト側でこの要素を特定して表示位置を操作するために必須です。 スタイルシートについては、positionプロパティはabsoluteでも構わないかも知れませんが、その場合ページトップでこの要素が内容を覆い隠してしまう可能性がありますので、relativeの方が楽でしょう。 z-indexについては、スクロールしたときでもこの要素が機能するために、他の要素よりも前面に表示させる必要性があるでしょうから、適宜他の要素よりも前面になるような値を指定してください。 背景については、設定しておかないとその下の本文が重ねて表示されるので見難いでしょう。 ついでに、これにpadding設定などをして、表示枠を少し余計目に稼いでおくと、より見やすくなると思います。 多分これで希望通りの動作になると思います。 Windows Me上のIE6、Netscape7.1、Opera7.11では、狙い通りに動作していることを確認しました。 参考になれば。

s-holmes
質問者

お礼

回答ありがとうございました。 やりたいことそのままでした。 ページ検索もしてみましたが、問題なく動きました。 活用させていただきます。

全文を見る
すると、全ての回答が全文表示されます。

その他の回答 (1)

noname#10926
noname#10926
回答No.1

フレームを使えばよいと思うが。 JavaScriptを使って実現させなければならないのでしょうか?

全文を見る
すると、全ての回答が全文表示されます。

関連するQ&A

  • Firefoxで履歴を戻ると元のスクロール位置に戻りません。

    Firefoxで履歴を戻ると元のスクロール位置に戻りません。 例えばYahoo!のトップページでどんなにページの下の方からのリンクでリンク先に行っても、前のページに戻ると必ず検索窓が画面の一番上にある位置までスクロールが戻ってしまいます。楽天でも同じです。 最近そのことに気づいたのですが、前はこのようなことは起こってませんでした。 ただ、すべての検索窓が付いているサイトで起こるのではなく、最初から検索窓に縦棒が点滅してるサイトに限って起こるようです。(検索窓をクリックすると縦棒が点滅が現れるタイプのサイトでは起こりません) Firefoxのバージョンは3.6.10で、オプションの設定変更などはしてないと思います。 拡張機能にAll-in-one Gestures, All-in-one Sidebar, Tab Mix Plus, IE View を入れてますが、拡張機能をすべて無効にしても変わりませんでした。 とても不便で、前のようにページを戻ると同じスクロール位置に戻るようにしたいのですが、解決策がわかる方いらっしゃいましたらお教えください。

  • スクロールのタグ

    モバイルでAUの公式サイトで一番下までスクロールするとページの上部に戻ります。 同じ事をhtmlで実現可能でしょうか。 スクロールのタグなんて存在していますか? 宜しくお願いします。

    • ベストアンサー
    • HTML
  • スクロールしすぎです

    同じ質問を検索して見つけたのですが、回答にあるMicrosoft社のページを見てもわかりません。 http://okweb.jp/kotaeru.php3?q=705610 失礼ながら、質問内容を繰り返させて戴きます。 下の方に長いページを見る時 マウスポインタを 右のバーの下の方の▼のちょっと上あたりに持っていって クリックすると ちょうど 表示されている1ページ分弱スクロールしていたのですが、 最近メールに限らず IE においても1.5ページ分位スクロールしてしまうようになってしまいました。どうしたら 前のように 1ページづつ スクロールしてくれるようになるでしょうか。 環境は WinMe です。

  • スクロール位置を取得してリンク先も同じスクロール位置に

    Javascript初心者です。よろしくお願いします。 scrollTopというものを使えば、 現在開いているページのスクロール位置を取得できる ということがわかりました。 その取得したデータをリンク先のページに反映したいですが、 方法がわかりません。 例えば、全ページの上部に縦300ピクセルの画像があり、 上から300ピクセルの位置にリンクしたい場合です。 アンカーポイントは使いたくありません。 あくまで前ページのスクロール位置と 同じ位置に移動したいです。 javascriptは遷移前のページも、 遷移後のページもどちらに追加してもいいです。 またブラウザごとの多少の誤差は気にしません。 どうぞよろしくお願いします。

  • スクロールバーの位置指定

    OS情報:MacOSX ブラウザ情報:Safari 今作成中のホームページの左側にボックスをつくってその中にクリックすると別ページに飛ぶリンクを縦に並べています。ボックス内はCSSでオーバーフロー自動の設定にしているので、下の方のリンクはスクロールしなければ見えません。今の状態は見えているリンクをクリックして別ページに飛ぶ分にはいいのですが、スクロールしてリンクをクリックした場合、別ページに移動した時、またスクロールがトップの位置に戻ってしまいます。これだとそれ以下にあるリンクをクリックしたい時に、いちいち下方向にスクロールしながらでないといけません。そこで、クリックして移動した後、そのページのリンク名が表示される位置でスクロールバーを固定できないか…ということなのですが、何かよい方法はないでしょうか?

  • スクロールできません!!

    はじめましてm(_ _)m パソコン初心者なので、どなたか助けてください!! 型式はLavie LL370MG1Tというもので、購入して1年半です。 いつも通りに使っていたつもりなのですが、インターネットをしていて、なぜか下↓にスクロールできなくなってしまいました。 マウスは使っていません。 だいたいスクロールする時は↑↓のキーを使っています。 下にスクロールしても、勝手に上に上に戻されてしまう感じです。 どのページを見るにも↑↓にスクロール出来ず、←→も同じように、右にスクロールしても左に戻されてしまいます。 ちなみに、過去の同じ質問を検索してみて、F12キー(ScrLock)というのを押してみましたが直りませんでした… 説明が下手で申し訳ありません。足りないことがあれば言って下さい。 自分で直すことはできるのでしょうか…? 何か、アドバイスをお願いしますm(_ _)m

  • パワーポイントにてマウスのスクロールについて

    パワーポイントにてマウスの上スクロールを行い、前のページに移るとき、ファイルによって ・ページが変わる(前のページの先頭ばかり移動) ・ページ内でスクロールする(前のページの下から上へスクロール) の2パターンがあります。 下スクロールの場合は、次のページに行ったらページ内の上から下へスクロールしていきます。 上スクロール時も下スクロール時みたいにページ内スクロールをさせたいのですが、何処で設定をしているのかがわかりません。 同じPCでファイルによって動作が違うのでマウスの設定では無いようです。 ちなみに表示は自動調整(1ページを画面いっぱいに表示)よりも大きく表示させています。自動調整時は上スクロールも下スクロールもページが変わるようになっています。 以上、よろしくおねがいします。

  • スクロールについて

    最近 Update してからなのですが メールに限らず IE においても 下の方に長いページを見る時 マウスポインタを 右のバーの下の方の▼のちょっと上あたりに持っていって クリックすると ちょうど 表示されている1ページ?分だけスクロールしていたのですが それが 1.5ページ分位スクロールしてしまうようになってしまいました。結果 元に戻す為にさらに マウスポインタを 動かさねばならず 全く不便になってしまいました。当方 ノートで使用してますので ホイールマウスを使えとか 言う事は 無しにして どうしたら 前のように 1ページづつ スクロールしてくれるようになるでしょうか。 環境は Win2000 IE6 です。

  • スクロール時、次の部分を表示させるには?

    ウィンドウズXPを使用しています。 ホームページなどを見ているとき、上下スクロールを ポインターを使ってする場合についての質問です。 ある、ホームページを表示したとします。そのページは 縦長になっています。右上にスクロールの動く部分があり ます。そしてその下は空白のようになっています。 動く部分のすぐ下の空白部分をクリックすると少しずつ、スクロール されるのですが、ページの一番下の部分をクリックすると たくさんスクロールされてしまい、途中の部分を抜かして 読んでしまうことになってしまいます。 下の方をクリックした場合でも、読み終わった次の部分が 上部にくるようにするにはどうしたらよいのでしょうか。 いろいろやってみたのですが、分かりませんので、ぜひ ご教示お願いいたします。

  • こんなページ作れますか?

    いろいろな情報を元に、フレームをやめました。 で、各ページの上部にメニューを横長の表で 載せました。 下にスクロールすると当然上部のメニューは 見えなくなります。 そこで質問ですが、スクロールしても、このメニューがブラウザの画面の上部に常にあるようにできませんか? 浮いているような感じ。 そんなHP見た覚えがあるので、出来ると思うのですが、 わかりません。