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 ステートメントのコメント

推薦する

最もよく使われるHTMLエスケープシーケンス

HTML では、<、>、& などは特別な意味を持ち (<、> はリン...

Nginx リクエスト制限の設定方法

Nginx は、多くの優れた機能を備えた強力で高性能な Web およびリバース プロキシ サーバーで...

MySQLでクエリキャッシュを実行する方法と失敗を解決する方法

関数を使用する前にパラメータのプロパティを理解して、関数の使い方をより深く理解する必要があることは誰...

MySQL 8.0 の新機能の分析 - トランザクション データ ディクショナリとアトミック DDL

序文トランザクション データ ディクショナリとアトミック DDL は、MySQL 8.0 で導入され...

要素の円弧モーションを実現する CSS3 サンプルコード

CSS を使用して要素の円弧の動きを制御する方法CSS3 の新しい属性 transfrom トランジ...

vue-resource インターセプターの使用に関する詳細な説明

序文インターセプター最近のフロントエンド フレームワークでは、インターセプターは基本的に非常に基本的...

MySQL 8で追加された3つの新しいインデックスは、非表示、降順、関数です。

目次MySQL 8 の隠しインデックス、降順インデックス、関数インデックス1. 隠しインデックス1....

MySQL 5.7.21 履歴データディレクトリからデータを復元するチュートリアルの解凍バージョン

状況の説明: データベースが異常に起動およびシャットダウンしたため、サービスを再度起動したときに「起...

ウェブサイトの再設計はどの家族にとっても難しい作業です

<br />どの家庭にもそれぞれの問題があり、改訂はどの IT 企業にとっても問題の 1...

Dockerコンテナにホストディレクトリへの書き込み権限がない場合の解決策

Docker コンテナを適用する場合、多くの場合、ホスト ディレクトリを Docker コンテナにマ...

Dockerはコンテナ外のコンテナ内でコマンドを実行します

コンテナ内でコマンドを実行したいが、コンテナに入りたくない場合があります。ではどうすればいいでしょう...

複数のサーバーにNginxリバースプロキシを実装する方法

Nginx は複数のサーバーをリバース プロキシします。つまり、nginx に異なるリクエストを送信...

ウェブページを最適化してメモリとCPUの使用率を削減

一部の Web ページは大きく見えなくても開くのに非常に時間がかかる場合があります。一方、他の We...

独自の FTP および SFTP サーバーを構築するプロセスの紹介

FTP と SFTP はファイル転送プロトコルとして広く使用されています。関連する機能を開発するには...

HTMLを圧縮しない理由はいくつかある

理由は簡単です。 HTML ドキュメントでは、複数の空白文字は 1 つの空白文字と同等です。つまり、...