この記事の例では、JS の単純なクリックしてトップに戻る効果を実装する方法を説明します。皆さんの参考に共有してください。具体的な分析は次のとおりです。
ページが特に長く、ユーザーがページの先頭に戻りたい場合、ページの右下隅に「先頭に戻る」ボタンがある場合、先頭に戻るために何度かスクロールする必要があります。ページの上部に戻ると、ユーザーはそれをクリックしてトップに戻ることができます。
実装原則: ページが読み込まれるとき、要素はページの右下隅に配置され、ユーザーがクリックすると、要素は常に右下隅に配置されます。ページが先頭に戻ります。
ポイント 1: document.documentElement.clientWidth || document.body.clientWidth; ビジュアル領域の幅を取得します。背面はChromeと互換性があり、前面は他のブラウザと互換性があります。
ポイント 2: oTop.style.left = screenw - oTop.offsetWidth "px"; ページが読み込まれるときに、要素をページの右端に配置し、その要素をページの幅から減算します。視覚領域自体の幅。
ポイント 3: oTop.style.top = screenh - oTop.offsetHeightscrolltop "px"; ページがスクロールするとき、要素の Y 座標位置は視覚領域の高さを引いた値に等しくなります。要素自体の高さにスクロール距離を加えたもの。
ポイント 4: document.documentElement.scrollTop = document.body.scrollTop =0; 要素がクリックされたときのページのスクロール距離を 0 にします。互換性のために 2 を記述します。
上記のコード:
<!DOCTYPE html> <html> <head> <meta charset="utf-8" /> <title>无标题文档</title> <style> body{margin:0; padding:0} #to_top{width:30px; height:40px; padding:20px; font:14px/20px arial; text-align:center; background:#06c; position:absolute; cursor:pointer; color:#fff} </style> <script> window.onload = function(){ var oTop = document.getElementById("to_top"); var screenw = document.documentElement.clientWidth || document.body.clientWidth; var screenh = document.documentElement.clientHeight || document.body.clientHeight; oTop.style.left = screenw - oTop.offsetWidth +"px"; oTop.style.top = screenh - oTop.offsetHeight + "px"; window.onscroll = function(){ var scrolltop = document.documentElement.scrollTop || document.body.scrollTop; oTop.style.top = screenh - oTop.offsetHeight + scrolltop +"px"; } oTop.onclick = function(){ document.documentElement.scrollTop = document.body.scrollTop =0; } } </script> </head> <body style="height:1000px;"> <h1>返回顶部</h1> <div id="to_top">返回顶部</div> </body> </html>
この記事が皆様の JavaScript プログラミング設計に役立つことを願っています。