この記事では、トップに戻るボタンを実装するためのJavaScriptの具体的なコードを参考までに紹介します。具体的な内容は次のとおりです。 1.まず足場を組む { テキスト装飾: なし; } 体 { 高さ: 5000ピクセル; } .トップに戻る{ 位置: 固定; 下: 80px; 右: 80px; 幅: 80ピクセル; 高さ: 80px; 背景色: #ccc; フォントサイズ: 20px; テキスト配置: 中央; 上部パディング: 12px; ボックスのサイズ: 境界線ボックス; カーソル: ポインタ; 色: #000; /* まずボタンを非表示にする */ /*表示: なし;*/ } <a href="javascript:;" class="backtotop" id="backtotop">トップに戻る</a> 2. 論理部分 マウスが「トップに戻る」ボタンをクリックすると、50 ミリ秒ごとに一定の「速度」でトップに戻ります。トップに戻った後はクリアする必要があります。そうしないと、ページが下に引っ張られるとすぐに自動的にトップに戻ります。ここでは、setInterval と clearInterval の 2 つのメソッドが使用されます。前者はタイマーを設定するためのもので、後者はタイマーをクリアするためのものです。 .トップに戻る{ /* まずボタンを非表示にする */ 表示: なし; } (関数() { // 1. 操作する要素を取得します。let oBackBtn = document.querySelector("#backtotop"); // 2. Webページのスクロールを監視する window.onscroll = function() { // スクロール距離を取得します。let offsetY = getPageScroll().y; // コンソールログ(オフセットY); // ロールバックボタンを表示するかどうかを決定します if (offsetY >= 200) { oBackBtn.style.display = "ブロック"; } それ以外 { oBackBtn.style.display = "なし"; } } timerId を null にします。 // 3. ロールバックボタンのクリックをリッスンする oBackBtn.onclick = function() { //タイマーの競合を防ぐために、最初にテーブルを閉じるように設定します。clearInterval(timerId); //タイマーを設定する timerId = setInterval(function() { let begin = getPageScroll().y; //現在の位置 let target = 0; //ターゲット位置 let step = (target - begin) * 0.3; 開始 += ステップ; //終了するかどうかを判定 if (Math.abs(Math.floor(step)) <= 1) { //タイマーをクリアする clearInterval(timerId); // window.scrollTo(x, y); // x は Web ページを水平方向にスクロールする位置を示します // y は Web ページを垂直方向にスクロールする位置を示します window.scrollTo(0, 0); 戻る; } ウィンドウを0にスクロールします。 }, 50); }; 関数 getPageScroll() { x, y とします。 if (window.pageXOffset) { x = ウィンドウのページXオフセット; y = ウィンドウのYオフセット; } そうでない場合 (document.compatMode === "BackCompat") { ドキュメントの左端をスクロールします。 ドキュメントの先頭部分をスクロールします。 } それ以外 { ドキュメント要素の左スクロール。 y = document.documentElement.scrollTop; } 戻る { x: x, y: y } } })(); 以上がこの記事の全内容です。皆様の勉強のお役に立てれば幸いです。また、123WORDPRESS.COM を応援していただければ幸いです。 以下もご興味があるかもしれません:
|
>>: IIS を使用して X-Forwarded-For ヘッダー (XFF) を呼び出して訪問者の実際の IP を記録する 2 つの方法
今日はMySQLのインストール方法を学びましたが、その過程でいくつか問題が発生しました。関連記事をい...
DOM の概念DOM: ドキュメント オブジェクト モデル: ドキュメント オブジェクト モデルは、...
この記事では、入力ボックスコンポーネントを手動で実装するための具体的なコードを参考までに紹介します。...
目次0. モジュールとは何か1.モジュールの読み込み1.1 方法1 1.2 方法2 2. 輸出と輸入...
目次序文1. クロージャとは何ですか? 1.1 クロージャは条件コードを満たす1.2 クロージャ生成...
nohup コマンドUnix/Linux を使用する場合、通常はプログラムをバックグラウンドで実行す...
昨年、この公開書簡は大ヒットし、羅永浩氏を驚かせた。今日、著者が新しい章を発表するとは思ってもみなか...
Dockerのインストール依存パッケージをインストールする sudo yum install -y ...
「通常 1em=16px」と言うのはなぜですか?ユーザーのブラウザによってレンダリングされるデフォル...
進捗バーがスムーズではないフロントエンドを学ぶ学生のほとんどは、オーディオプレーヤーやビデオプレーヤ...
CSS ビューポート ユニットはここ数年登場しており、時が経つにつれて、ますます多くの開発者が使用し...
目次1. サンプルコード2. 現象を通して本質を見抜く3. 実施原則4. 親コンポーネントのコンパイ...
この記事の目的は、これらの概念とその機能の関係を明らかにすることです。 Mysql がトランザクショ...
1. Apacheをインストールする # yum インストール -y httpd httpd-de...
まず、どのフィールドまたはフィールドの組み合わせがデータ行を一意に識別できるかを決定する必要がありま...