トップに戻るボタンの例の JavaScript 実装

トップに戻るボタンの例の JavaScript 実装

この記事では、トップに戻るボタンを実装するためのJavaScriptの具体的なコードを参考までに紹介します。具体的な内容は次のとおりです。

アイデア:

まず、固定配置を主に使用してページの下部の特定の位置に固定する静的スタイルを設計します。

.トップに戻る{
    位置: 固定;
    下: 80px;
    右: 80px;
    幅: 80ピクセル;
    高さ: 80px;
    背景色: #ccc;
    フォントサイズ: 20px;
    テキスト配置: 中央;
    上部パディング: 12px;
    ボックスのサイズ: 境界線ボックス;
    カーソル: ポインタ;
    色: #000;
    /* まずボタンを非表示にする */
    表示: なし;
  } 

2 つ目は設計ロジックの部分です。マウスが「トップに戻る」ボタンをクリックすると、20 ミリ秒ごとに一定の「速度」でトップに戻ります。トップに戻った後はクリアする必要があります。そうしないと、ページが下に引っ張られるとすぐに自動的にトップに戻ります。ここでは 2 つのメソッドが使用されています。1 つは setInterval、もう 1 つは clearInterval です。前者はタイマーを設定し、後者はタイマーをクリアします。

ここで注意すべき点は、競合を避けるために、タイマーを設定する前に「まずタイマーを設定する」必要があるということです。

最後に、ユーザー エクスペリエンスを向上させるために、現在のページが最上部にある場合は「先頭に戻る」ボタンが自動的に非表示になり、現在のページが最上部でない場合は「先頭に戻る」ボタンが表示されるように設計する必要があります。

最後に、ケース全体を見てみましょう。

<a href="javascript:;" class="backtotop" id="backtotop">トップに戻る</a>
{
    テキスト装飾: なし;
  }

  体 {
    高さ: 5000ピクセル;
  }

  .トップに戻る{
    位置: 固定;
    下: 80px;
    右: 80px;
    幅: 80ピクセル;
    高さ: 80px;
    背景色: #ccc;
    フォントサイズ: 20px;
    テキスト配置: 中央;
    上部パディング: 12px;
    ボックスのサイズ: 境界線ボックス;
    カーソル: ポインタ;
    色: #000;
    /* まずボタンを非表示にする */
    表示: なし;
}
<スクリプト>
(関数(){
  //要素を取得します var backtotop = document.getElementById('backtotop');

  var タイマー;
  backtotop.onclick = 関数(){
    //タイマーの競合を防ぐために、最初にテーブルを閉じるように設定します。clearInterval(timer);

    //タイマーを設定する timer = setInterval(function(){

      // ルート要素の scrollTop 要素の値を変更します // 互換性の問題 var top = document.documentElement.scrollTop || document.body.scrollTop;
      トップ = トップ - 80;
      ドキュメントのスクロールトップを上部に移動します。
      document.body.scrollTop = 上;

      //if(top <= 0) を判定する {
        //タイマーをオフにする clearInterval(timer);
      }
    },20);
  };

  //ページのスクロールを監視する window.onscroll = function() {
    //スクロール値を取得します var scrollTop = document.documentElement.scrollTop || document.body.scrollTop || window.scrollY;

    //ページがスクロールされていない場合、先頭に戻るボタンは非表示になります if (scrollTop == 0) {
      backtotop.style.display = 'なし';
    }それ以外 {
        backtotop.style.display = 'ブロック';
    }
  };
})();

<スクリプト>

ページがスクロールしない場合:

ページをスクロールすると:

最後に、興味のある人は自分で試してみてください!

以上がこの記事の全内容です。皆様の勉強のお役に立てれば幸いです。また、123WORDPRESS.COM を応援していただければ幸いです。

以下もご興味があるかもしれません:
  • JavaScript は WeChat ブラウザを監視し、戻るボタンの時間を表示します
  • Javascript に基づいてトップに戻るボタンを実装する
  • JavaScriptのトップに戻るボタンを実装する方法
  • JavaScript でトップに戻るボタンを実装する
  • JavaScript を使用してブラウザの戻るボタンをブロックする方法
  • JavaScriptはブログページの右下隅にトップに戻るボタンを実装します
  • JSはそれぞれ画像とボタンを介して前のページの例コードに戻ります
  • js ボタンをクリックすると別のページがポップアップし、値を選択して現在のページに戻ります
  • JavaScript ポップアップ フォームのボタンをクリックして選択したデータを返す実装
  • トップに戻るボタンを実装するJavaScript

<<:  MySQL ルートパスワードをリセットする方法

>>:  Dockeにredisをインストールする方法

推薦する

Win10環境にMysql5.7.23をインストールする際の問題点と落とし穴

たくさんのチュートリアルを読みましたが、うまくインストールできませんでした。しばらく試行錯誤した後、...

MySQL インデックス データ構造の詳細な分析

目次概要インデックスデータ構造バイナリツリー赤黒木BツリーB+ツリーハッシュ索引InnoDB インデ...

html2canvasで画像が正常にキャプチャできない時の解決方法

質問まず、私が遭遇した問題についてお話しします。まず、そういった需要があるわけです。フロントエンドは...

CSS の読み込みによってブロックが発生しますか?

おそらく誰もが js の実行によって DOM ツリーの解析とレンダリングがブロックされることを知って...

初心者向け入門チュートリアル: ドメイン名の解決とバインディング

では、ドメイン名を登録して仮想ホストを購入した後、IE でドメイン名を入力して Web サイトを開く...

CocosCreator Huarongdaoデジタルパズルの詳しい説明

目次序文文章1. パネル2. 華容島ソリューション3. コード4. 注記序文華容路とは何ですか? 誰...

Vueコンポーネント間の通信の非常に詳細な要約

目次序文1. Props、$emit一方向データフロー2. $親、$子3. $attrs、$list...

Dockerコンテナ同士を接続する3つの方法の詳しい説明

Docker コンテナ間の相互接続と通信には 3 つの方法があります。 Docker 内部ネットワー...

Vue+echarts でプログレスバーのヒストグラムを実現

この記事では、プログレスバーヒストグラムを実現するためのvue+echartsの具体的なコードを参考...

mysql 8.0.16 winx64.zip インストールと設定方法のグラフィックチュートリアル

この記事では、MySQL 8.0.16 winx64.zipのインストールと設定方法の具体的なコード...

Linux でファイル内の特定の文字の数を数える方法

ファイル内の文字列の数を数えることは、実際には砂の中の石を探すようなものです。ある人は、石を見た後に...

IIS7~IIS8.5 サーバープロトコルヘッダーの削除または変更

要件: IIS 7、7.5、8.0、8.5、および ASP.NET で HTTP 応答ヘッダーを削除...

Maxwell を使用して MySQL データをリアルタイムで同期する方法

目次マクスウェルについてMaxwellの設定と使用1. Maxwellインストールパッケージをダウン...

Windows10にmysql5.7.18をインストールするチュートリアル

このチュートリアルでは、MySQL 5.7.18のインストールと設定方法を参考までに紹介します。具体...

HTML の入力の readonly 属性と disabled 属性の違いについて簡単に説明します。

「読み取り専用」と「無効」はどちらも、ユーザーがフォーム フィールドの内容を変更できないようにしま...