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

推薦する

RocketMQ の Docker インストールとインストール中に発生した問題の解決策

目次rocketmqイメージを取得する名前rvを作成する単一のブローカーノードを作成するrocket...

Ubuntu 20.04にvncserverをインストールする方法

Ubuntu 20.04は2020年4月に正式にリリースされました。本日、ミラーシステムを正式にイン...

Firefox で Webdings フォントをサポートする方法

Firefox、Opera、その他のブラウザは Webdings フォントをサポートしていません。回...

v-model 双方向バインディングデータを実装する vue カスタム コンポーネントのサンプル コード

プロジェクトでは、プロジェクトが呼び出すカスタム パブリック コンポーネントに遭遇します。通常、pr...

HTML テーブル マークアップ チュートリアル (37): 背景画像属性 BACKGROUND

テーブル ヘッダーの背景画像を設定します。任意の GIF または JPEG 画像ファイルを使用できま...

Linux で指定された期間に数分ごとにタスク スケジュール crontab を自動的に実行する方法

まずコードを見てみましょう #/bin/sh datename=$(日付 +%Y%m%d-%H%M%...

VUE+SpringBootはページング機能を実装します

この記事では主に、Vue + SpringBoot でページ分割されたリストデータを実装する方法を紹...

du コマンドを使用して Linux システム ディレクトリのサイズを取得する方法

Linux システムを使用したことがある人なら、Linux システムの ls コマンドは通常、ファイ...

MYSQL接続ポートが占有され、ファイルパスエラーが発生する問題を解決します

今朝、私は Wampserver を使用してローカルの win7 マシン上に PHP 環境を構築し、...

MySQL データベース テーブルとデータベース パーティショニング戦略

まず、テーブルを分割する必要がある理由について説明します。データシートが数百万に達すると、1 回のク...

Javascript サンプル プロジェクトでの虫眼鏡効果の実装プロセス

目次序文事例: JD.com の虫眼鏡効果の模倣オフセットシリーズクライアントシリーズスクロールシリ...

スクロールバーを非表示にしてコンテンツをスクロールする CSS サンプルコード

序文ページの HTML 構造にネストされたボックスが多数含まれている場合、ページに複数の垂直スクロー...

CSS スタイルで一般的なグラフィック効果を示すサンプルコード

一般的な基本グラフィックと私が遭遇するいくつかの小さなアイコンについて簡単に説明します。以下は CS...

MySQLでカンマ区切り値の列を列に変換する方法

序文場合によっては、第 1 正規形設計パターンに従わないビジネス テーブルに遭遇することがあります。...

webpackでCSSを分割・圧縮し、リンクでインポートする手順

まずコードファイルの構造を見てみましょう。エントリファイル (index1.js) の内容: ...