jsはウォーターフォールフローのボトムアウトによるデータの動的ロードを実現します

jsはウォーターフォールフローのボトムアウトによるデータの動的ロードを実現します

この記事では、ウォーターフォールフローが底に達したときにデータを動的にロードするためのjsの具体的なコードを紹介します。参考までに、具体的な内容は次のとおりです。


// onScrollEvent スクロールバーイベント <div class="box" ref="box" @mousewheel="onScrollEvent">
    //各ブロックの内容は
      <div class="boxItemStyle" v-for="(userTag, i) in dataSource" :key="i" ref="boxItemStyle">
        <a-tag class="moreStyle" @click="more(userTag.primaryParam)"> もっと見る></a-tag>
        <div v-for="item in userTag.userTag" :key="item.code">
          <p>
            {{item.name}}:
            {{ アイテム.値 }}
          </p>
        </div>
      </div>
      //各ブロックの内容終了
</div>

滝レイアウト

滝() {
  // 余白の幅を減算する var pageWidth = this.$refs.box.offsetWidth - 200
      var columns = 4; // 4 列の行を定義します var itemWidth = parseInt(pageWidth / columns);
      var arr = [];
      var ノード = document.getElementsByClassName("boxItemStyle")
      タイムアウトを設定する(() => {
        //var node1 = Array.from(ノード)
       // var node2 = Array.prototype.slice.call(nodes)
        (var i = 0; i < nodes.length; i++) の場合 {
          ノード[i].style.width = アイテム幅 + "px"
          if (i < 列) {
            ノード[i].style.width = アイテム幅 + "px"
            ノード[i].style.left = アイテム幅 * i + i * 50 + "px"
            ノード[i].style.top = 0
            arr.push(ノード[i].offsetHeight);
          } それ以外 {
            // 配列内の最小の高さとそのインデックスを見つけます var minHeight = arr[0];
            var インデックス = 0;
            (var j = 0; j < arr.length; j++) の場合 {
              (最小高さ>arr[j])の場合{
                最小高さ = arr[j];
                インデックス = j;
              }
            }
            ノード[i].style.top = arr[インデックス] + 30 + "px"、
              ノード[i].style.left = ノード[index].offsetLeft + 'px';
            // 最小列の高さを変更します // 最小列の高さ = 現在の高さ + 接合された列の高さ arr[index] = arr[index] + nodes[i].offsetHeight + 30; // 距離を 30 に設定します }
        }
      }, 1000)
    },

データを動的に読み込む

スクロールイベント(){
      もし (
        this.isScroll &&
        this.$refs.box.scrollHeight - this.$refs.box.scrollTop - this.$refs.box.clientHeight <= 0
      ){
        this.loading = true
        if (this.ipagination.current == 1) {
          this.ipagination.current += 1
        }
        パラメータを {} とします
        param['pageNo'] = this.ipagination.current
        param['pageSize'] = this.ipagination.pageSize
        param['portraitId'] = this.portraitId
        postAction(this.url.list, { ...param }).then((res) => {
          this.loading = false
          (res.成功)の場合{
            this.isScroll = res.records
            this.dataSource = this.dataSource.concat(res.result.records || res.result)
            this.waterFall();
          }
        })
        this.ipagination.current++
      }
    },

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

以下もご興味があるかもしれません:
  • JSは画像の滝の流れの効果を実現します
  • js を使用してウォーターフォール効果を実現する
  • JS を使用して Web ページのウォーターフォール レイアウトを実装する方法
  • ウォーターフォールフローレイアウト(無限読み込み)を実現する js
  • JavaScript でウォーターフォールレイアウトを実装する 3 つの方法
  • JavaScript ウォーターフォールフローを実装する方法を学びましたか?

<<:  コード分​​析を実現するためのFastDFSとNginxの統合

>>:  MySQL で重複レコードを見つけて削除する方法

推薦する

MySQL マルチテーブルクエリの詳細な説明

よく食べて十分に休息を取るというのは簡単なことのように思えますが、実際に実行するのはそれほど簡単では...

5つのCSSスクロール天井実装方法の比較(パフォーマンス向上版)

改訂版のプレビューこの記事は 3 日前に書かれたものです。先輩の同僚から改訂の提案をいくつかいただき...

Spring Boot 階層化パッケージング Docker イメージの実践と分析 (推奨)

目次1. Springbootプロジェクトを準備する2. 関連する設定を実行する3.パッケージ4.D...

1 つの記事で MySQL のプリコンパイルを理解する

1. プリコンパイルの利点私たちは皆、プリコンパイル機能を備えた JDBC の PreparedSt...

Linuxはシェルスクリプトを使用して履歴ログファイルを定期的に削除します

1. ツールディレクトリのファイル構造 [root@www tools]# ツリーツール/ ツール/...

Linux での chmod コマンドの使用方法の詳細な説明

chmod コマンド構文chmod コマンドを使用する場合の正しい構文は次のとおりです。 chmod...

HTML のフォームフォームのメソッド属性の紹介

1 メソッドは、データをサーバーに送信する方法を指定するプロパティです。 2 post と get ...

MySQL 5.7 のユニオンオール使用法のブラックテクノロジーを 5 分で学ぶ

MySQL 5.6 での union all のパフォーマンスパート 1:MySQL 5.6.25 ...

ウェブページのメモリとCPU使用量を削減する方法

<br />Web ページによっては、サイズは大きくないように見えても開くのに非常に時間...

Docker ベースの Tomcat クラスタと Nginx ロード バランシングの展開の概要

目次前面に書かれた1. Ngixnイメージの作成2. Java Web (Tomcat) アプリケー...

vueプロジェクトは特定の領域に透かしを描くことを実現する

この記事では、Vueを使用して特定の領域に透かしを描く方法を紹介します。具体的な内容は次のとおりです...

CSS ラベルモード表示プロパティの詳細な説明

コードは次のようになります。 <!DOCTYPE html> <html> ...

MySQL/MariaDB ルートパスワードリセットチュートリアル

序文パスワードを忘れることは、よく遭遇する問題です。MySQL または MariaDB データベース...

HTML要素のID属性とName属性の違い

今日、私は <a href="#13"></a> につい...

Ubuntu 18.04はルート権限を取得し、ルートユーザーとしてログインします

事前に書いておきます:次の手順では、ターミナルにコマンドを入力する必要があります。コンピューターでブ...