ホームページ  >  記事  >  ウェブフロントエンド  >  h5でのscrollIntoViewの使い方を詳しく解説

h5でのscrollIntoViewの使い方を詳しく解説

零下一度
零下一度オリジナル
2017-06-25 10:03:235830ブラウズ

ページのスクロールもDOMでは解決できていない問題です。この問題を解決するために、ブラウザは開発者がページのスクロールをより適切に制御できるようにするメソッドを実装しました。さまざまな独自メソッドの中で、HTML5 は標準メソッドとしてscrollIntoView()を選択しました。 scrollIntoView() は、すべての HTML 要素で呼び出すことができます。ブラウザ ウィンドウまたはコンテナ要素をスクロールすると、呼び出し元の要素がウィンドウに表示されます。 true がパラメータとしてこのメ​​ソッドに渡されるか、パラメータが渡されない場合、ウィンドウがスクロールされた後、調整された要素の上部はウィンドウの上部とできるだけ同じ高さになります。 false がパラメータとして渡された場合、呼び出し元要素はビューポートに可能な限り完全に表示されます (可能であれば、呼び出し元要素の下部はビューポートの上部と同じ高さになります)。ただし、上部は必ずしも同じ高さであるとは限りません。 .

1. scrollIntoView

html

<div><h2>scrollIntoView</h2><button id="roll1">scrollIntoView(false)</button><button id="roll2">scrollIntoView(true)</button><div><div id="myDiv"></div><div id="roll_top">scrollIntoView(ture)元素上边框与视窗顶部齐平<span id="bottom">scrollIntoView(false)元素下边框与视窗底部齐平</span></div></div></div>

css

       #myDiv {height: 900px;background-color: gray;

        }#roll_top {height: 900px;background-color: green;color: #FFF;font-size: 50px;position: relative;
        }#bottom {position: absolute;display: block;left: 0;bottom: 0;
        }

js

html
2.

りー

css

りー

js

  window.onload = function () {
        document.querySelector("#roll1").onclick = function () {
            document.querySelector("#roll_top").scrollIntoView(false);
        };
        document.querySelector("#roll2").onclick = function () {
            document.querySelector("#roll_top").scrollIntoView(true);
        };
    }

全コード

<div><h2>scroll</h2><div id="nav"><div class="f1">floor1</div><div class="f2">floor2</div><div class="f3">floor3</div><div class="f4">floor4</div><div class="f5">floor5</div></div><p>页面结构</p><div class="main"><div id="f1">测试1</div><div id="f2">测试2</div><div id="f3">测试3</div><div id="f4">测试4</div><div id="f5">测试5</div></div></div>
コードを表示

以上がh5でのscrollIntoViewの使い方を詳しく解説の詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。

声明:
この記事の内容はネチズンが自主的に寄稿したものであり、著作権は原著者に帰属します。このサイトは、それに相当する法的責任を負いません。盗作または侵害の疑いのあるコンテンツを見つけた場合は、admin@php.cn までご連絡ください。