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開発

開発の問題点開発プロセスでは、データベース フィールドが頻繁に変更されるため、RD 環境と QA 環...

Mysqlトランザクション操作の失敗を解決する方法

Mysqlトランザクション操作の失敗を解決する方法トランザクションの原子性: トランザクションは、デ...

MySQLデータ内の多数の改行と復帰に対する解決策

目次問題を見つける1. 改行と復帰を削除する方法2. SELECTクエリで「改行と復帰」を無視する方...

SSH経由でリモートLinuxシステムでコマンドを実行する方法

場合によっては、リモート マシンでいくつかのコマンドを実行する必要があることがあります。これが時々行...

MySQL テーブル全体の暗号化ソリューション keyring_file の詳細な説明

例示するMySql Community Edition は、5.7.11 以降、テーブルベースのデー...

MySQL初心者はグループ化や集計クエリの煩わしさから解放されます

目次1. グループクエリの概略図2. groupbyキーワード構文の詳細な説明3. 簡単なグループク...

Windowsにmysql5.7をインストールする方法

まずmysqlの圧縮バージョンをダウンロードします。公式ダウンロードアドレスは123WORDPRES...

Docker が MySQL を作成する説明

1. MySQLイメージをダウンロードするコマンド: docker pull mysql 2. コン...

Linux カーネル デバイス ドライバー 高度な文字デバイス ドライバーのメモ

/****************** * 高度な文字デバイス ドライバー ***********...

無視されたDOCTYPE記述の分析

doctype もその 1 つです。 <!DOCTYPE HTML PUBLIC "...

Web インタビュー: MVC と MVVM の違いと、Vue が MVVM に完全に準拠していない理由

目次MVCとMVVMの違い前述のMVCC の概要長所と短所MVVM概要MVVM 実装者 — Vue ...

HTML知識ポイントの実践経験のまとめ

1. 表タグはtable、trは行、tdはセル、cellspacingはセル間の距離、cellpad...

JavaScript のプライベート クラス フィールドと TypeScript のプライベート修飾子の詳細な説明

目次JavaScript のプライベート クラス フィールドとプライバシーの必要性JavaScrip...

CSSで記事の区切り線のスタイルを実装するさまざまな方法のまとめ

この記事では、CSS で記事の区切り線を実装するさまざまな方法をまとめています。区切り線はページを美...

VScode設定のリモートデバッグLinuxプログラムの問題を解決する

VScode リモートデバッグ Linux プログラムの問題について見てみましょう。具体的な内容は以...