vue backtop コンポーネントを実装するための完全なコード

vue backtop コンポーネントを実装するための完全なコード

効果:

ここに画像の説明を挿入

コード:

<テンプレート>
 <div class="back-top">
  <div> 要素
   <img src="imgsrc" class="line" :class="isHide? 'isHide': 'isShow'" :style="{display: (firstShow? 'block': 'none')}" @click="backTop">
  </div>
 </div>
</テンプレート>

<スクリプト>
エクスポートデフォルト{
 名前: "backTop",
 データ(){
  戻る {
   firstShow: false, //非表示のコンポーネントを初期化する isHide: false,
   スクロールフラグ: true、
  }
 },
 作成された() {
  document.addEventListener('スクロール', () => {
   scroll = document.documentElement.scrollTop とします。
   if(スクロール > 200){
    this.isHide = false
    this.firstShow = true
   }それ以外{
    this.isHide = true
   }
  })
 },
 メソッド: {
  戻るトップ(){
   if(this.scrollFLag){
    this.scrollFLag = false
    //画面の高さ let scroll = document.documentElement.scrollTop
    scrollTimer = setInterval(()=> { を設定します。
     スクロール -= 50
     document.documentElement.scrollTop = Math.max(スクロール、0)
     if(スクロール <= 0){
      クリア間隔(スクロールタイマー)
     }
    }, 10)
    this.scrollFLag = true
   }
  },
 },
}
</スクリプト>

<スタイル スコープ lang="scss">
.back-top{
 位置: 固定;
 上: 0;
 右:10vw;
 幅: 20px;
 高さ: 500px;
 zインデックス: 200;
 。ライン{
  幅: 12vw;
  高さ: 100%;
  zインデックス: 20;
  カーソル: ポインタ;
  不透明度: 0.8;
  変換: translateY(-100%);
  &:ホバー{
   不透明度: 1;
  }
 }
 .isShow{
  アニメーション: back-top-move 0.5s forwards linear、back-top-yurayura 2s 0.6s forwards linear infinite;
 }
 .isHide{
  アニメーション: 戻る-上-非表示 0.5 秒前へ線形;
 }
}

@keyframes 戻る上部非表示 {
 から {
  変換: translateY(0);
 }
 に {
  変換: translateY(-100%);
 }
}

@keyframes 戻るトップ移動 {
 に {
  変換: translateY(0);
 }
}
@keyframes バックトップユラユラ {
 0%{transform-origin: 上中央;transform: rotate(0)}
 25%{transform-origin: 上部中央;transform: rotate(2deg)}
 75%{transform-origin: 上部中央;transform: rotate(-2deg)}
 100%{transform-origin: 上部中央;transform: rotate(0)}
}
</スタイル>

これで、vue バックトップ コンポーネントの完全なコード実装に関するこの記事は終了です。vue バックトップ コンポーネントの関連コンテンツの詳細については、123WORDPRESS.COM で以前の記事を検索するか、次の関連記事を引き続き参照してください。今後とも 123WORDPRESS.COM を応援していただければ幸いです。

以下もご興味があるかもしれません:
  • Vueはどのようにしてコンポーネント間でスロット実装を渡すのか
  • vue-calendar-component は、複数日付選択コンポーネントのサンプルコードをカプセル化します。
  • Vueのツリーコンポーネントを実装する方法
  • Vue コンポーネントのスロットリング機能が失敗する原因と解決策
  • Vue のレンダリング関数を使用してサブコンポーネントの参照操作を設定する
  • Antd-vue テーブルコンポーネントは、データ行をクリックするためのクリックイベントを追加します。チュートリアル
  • HTML で Vue コンポーネントを作成して呼び出すいくつかの方法の概要

<<:  Nginx+SSL による双方向認証を実装するためのサンプル コード

>>:  Mysql SQL ステートメントのコメント

推薦する

Node はあいまい検索用の検索ボックスを実装します

この記事の例では、検索ボックスでファジークエリを実装するためのNodeの具体的なコードを参考までに共...

div 内の img と span の垂直方向の中央揃えの問題について

以下のように表示されます。 XML/HTML コードコンテンツをクリップボードにコピー<htm...

Centos7でglibcをアップグレードするとシステム異常(起動できない)になる場合の解決方法

目次問題の原因:解決:解決:私は Centos7 を使用しています (理論的にはこの方法は Cent...

CentOS 7にChromeブラウザをインストールする方法

この記事では、CentOS 7 に Chrome ブラウザをインストールする方法を紹介します。詳細は...

JavaScript ツールチェーンの不完全なガイド

目次概要静的型チェックコードスタイルチェック(Linter)パッケージマネージャーモジュールローダー...

Dockerコンテナのホスト間マルチネットワークセグメント通信ソリューションの詳細説明

1. マックヴラン前回のブログ投稿で紹介した Docker コンテナのホスト間通信を実現するための ...

MySQL 8.0.11 の詳細なインストール手順

この記事では、参考までにMySQL 8.0.11のインストール手順を紹介します。具体的な内容は次のと...

Vmwareでディスクを追加する方法:ディスクを拡張する

この記事では、ディスクを追加または拡張して、Vmare で有効にする方法について説明します。シナリオ...

JavaScript でシンプルなタイマーを実装する

この記事では、参考までに簡単なタイマーを実装するためのJavaScriptの具体的なコードを紹介しま...

MySQL で誕生日から年齢を計算する複数の方法

以前はMySQLをあまり使用していなかったため、MySQLの機能にあまり詳しくありませんでした。この...

myBatis で条件を削除する際のスプライシング問題を解決する

私は今日、mybatis を学び、データベースに対していくつかの簡単な追加、削除、変更、クエリを実行...

Dockerfileを使用してDockerイメージを構築する

目次Dockerfileを使用してDockerイメージを構築する1. Dockerfile とは何で...

MySQLで現在の時間間隔の前日のデータをクエリする

1. 背景実際のプロジェクトでは、分散スケジュールされたタスク実行の状況に遭遇することがあります。ス...

CSS で 3 列レイアウトを実装するいくつかの方法と利点と欠点

序文3 列レイアウトは、その名前が示すように、両側が固定され、中央が適応します。実際の開発では、3 ...

Chromeブラウザ設定の新バージョンではクロスドメイン実装が可能

序文現在、フロントエンドは主に webpack の devServer の構成を通じてクロスドメイン...