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 で重複レコードを見つけて削除する方法

推薦する

js でパズルゲームを実装する

この記事では、パズルゲームを実装するためのjsの具体的なコードを参考までに共有します。具体的な内容は...

Linuxのsortコマンドの複数のパラメータを理解するための1つの質問

sort コマンドは非常によく使用されますが、-o、-n、-u、-r などの多くのパラメーターがあり...

mysql ルートユーザーを認証できず、Navicat リモート認証プロンプト 1044 の問題を解決します

まず解決策を見てみましょう #------------mysql の root ユーザーに権限を付与...

Vueはログインジャンプを実装する

この記事では、ログインジャンプを実装するためのVueの具体的なコードを例として紹介します。具体的な内...

ビジュアルデザイナーの成長の3つの段階のまとめ

この本「グラフィックデザイナーとして成長する」は多くの人が読んでおり、私もオリジナルの PDF 版を...

WeChatアプレットにおけるデータ保存実装方法

目次グローバル変数 globalDataページプライベート変数データストレージ非同期ストレージ(デバ...

誰もが知っておくべきウェブサイトのユーザビリティに関する 10 のヒント

これ以上時間を無駄にせず、早速本題に入りましょう。 1. ロゴに代替テキストを追加するこれには 2 ...

MySQLの主キーとユニークキーの重複挿入の解決策の詳細な説明

目次解決: 1. 無視する2. 交換する3. 重複キーの更新についてデータを挿入するときに、重複した...

JavaScript で配列の変更を監視する方法

序文以前、defineProperty を紹介したとき、オブジェクトの変更のみを監視でき、配列の変更...

MySQL シリーズ 7 MySQL ストレージ エンジン

1. MyISAM ストレージエンジン欠点:トランザクションはサポートされていません最小粒度ロック:...

Vue は携帯電話の認証コードによるログインを実装します

この記事では、携帯電話認証コードログインを実装するためのVueの具体的なコードを参考までに共有します...

Vueカスケードドロップダウンボックスの設計と実装

目次1. データベース設計2. フロントエンドページ3. 完全なデモフロントエンド開発では、カスケー...

MySQLインストーラがコミュニティモードで実行されている場合の解決策

今日、リモートデスクトップを実行してログインしているときにこのプロンプトを見つけました「MySQL ...

この記事では、Vue 3.0 レスポンシブの使い方を説明します。

目次ユースケースリアクティブAPI関連プロセス反応的なcreateReactiveObjectはレス...

Linux システム構成 (サービス制御) の詳細な紹介

目次序文1. システムサービス制御1. システムctl 2. ターゲット3. 共通システムサービス4...