jQueryはテーブル行データのスクロール効果を実現します

jQueryはテーブル行データのスクロール効果を実現します

この記事の例では、テーブル行データのスクロール効果を実現するためのjQueryの具体的なコードを参考までに共有しています。具体的な内容は次のとおりです。

HTMLコード:

<div class="box">
  <div class="box-header">
    <div class="col">テスト 1</div>
    <div class="col">テスト 2</div>
    <div class="col">テスト 3</div>
    <div class="col">テスト 4</div>
  </div>
  <div id="font-scroll">
    <div class="box-body">
      <div class="row">
        <div class="col">テストテキスト</div>
        <div class="col">テストテキスト</div>
        <div class="col">テストテキスト</div>
        <div class="col">テストテキスト</div>
      </div>
      <div class="row">
        <div class="col">テストテキスト</div>
        <div class="col">テストテキスト</div>
        <div class="col">テストテキスト</div>
        <div class="col">テストテキスト</div>
      </div>
      <div class="row">
        <div class="col">テストテキスト</div>
        <div class="col">テストテキスト</div>
        <div class="col">テストテキスト</div>
        <div class="col">テストテキスト</div>
      </div>
      <div class="row">
        <div class="col">テストテキスト</div>
        <div class="col">テストテキスト</div>
        <div class="col">テストテキスト</div>
        <div class="col">テストテキスト</div>
      </div>
      <div class="row">
        <div class="col">テストテキスト</div>
        <div class="col">テストテキスト</div>
        <div class="col">テストテキスト</div>
        <div class="col">テストテキスト</div>
      </div>
      <div class="row">
        <div class="col">テストテキスト</div>
        <div class="col">テストテキスト</div>
        <div class="col">テストテキスト</div>
        <div class="col">テストテキスト</div>
      </div>
      <div class="row">
        <div class="col">テストテキスト</div>
        <div class="col">テストテキスト</div>
        <div class="col">テストテキスト</div>
        <div class="col">テストテキスト</div>
      </div>
      <div class="row">
        <div class="col">テストテキスト</div>
        <div class="col">テストテキスト</div>
        <div class="col">テストテキスト</div>
        <div class="col">テストテキスト</div>
      </div>
      <div class="row">
        <div class="col">テストテキスト</div>
        <div class="col">テストテキスト</div>
        <div class="col">テストテキスト</div>
        <div class="col">テストテキスト</div>
      </div>
    </div>
  </div>
</div>

CSS スタイルコード:

。箱 {
      幅: 400ピクセル;
      テキスト配置: 中央;
      フォントサイズ: 14px;
      境界線: 1px実線 rgba(0, 0, 0, .3);
    }

    .box .box-header {
      ディスプレイ: フレックス;
      コンテンツの均等配置: スペースを均等に;
    }

    .box-body .row {
      ディスプレイ: フレックス;
      コンテンツの均等配置: スペースを均等に;
    }

    .box-header、
    .box-body .row {
      border-bottom: 1px 破線 #404040;
    }

    .box .col {
      パディング: 10px 0 10px 0;
    }

    .box .col:n番目の子(1) {
      幅: 80ピクセル;
    }

    .box .col:n番目の子(2) {
      幅: 60ピクセル;
    }

    .box .col:n番目の子(3) {
      幅: 80ピクセル;
    }

    .box .col:n番目の子(4) {
      幅: 60ピクセル;
    }

    /* コンテンツのスクロール */

    #フォントスクロール{
      /* コンテンツのスクロール表示の高さ*/
      高さ: 199px;
      オーバーフロー: 非表示;
    }

JSコード:

(関数 ($) {
  $.fn.FontScroll = 関数 (オプション) {
    d = { 時間: 1000 } とします。
    オプションを拡張します。

    // スクロールする必要があるdiv親ボックスlet box = this[0]
    // スクロール間隔 let _time = d.time

    // この方法は、各データ行の高さが同じ場合にのみ適しています // // 各スクロールの高さ (通常はデータ行の高さ)
    // _contentChildHeight = box.children[0].children[0].offsetHeight とします
    // // 合計スクロール高さ、つまりコンテンツの合計高さ(すべてのデータの合計高さ)
    // _contentTotalHeight = _contentChildHeight * box.children[0].children.lengthとする

    // この方法は、各行のデータの高さが異なる場合も含め、あらゆるケースに適しています // すべての行要素を取得します let all_row_el = box.children[0].children
    // 行の合計の高さ let _contentTotalHeight = 0
    // 各データ行の重ね合わせの高さと、それ以前のすべての行の高さ let _contentChildHeight = []
    for (let i in all_row_el) {
      if ((新しい正規表現("^\\d+$")).test(i)) {
        _itemHeight = all_row_el[i].offsetHeight
        _contentTotalHeight += _itemHeight
        i == 0 ? _contentChildHeight.push(_itemHeight) : _contentChildHeight.push(_contentChildHeight[i - 1] + _itemHeight)
      }
    }

    // スクロールする必要がある div サブボックス let child1 = this.children('.box-body')
    // スクロール div 子ボックスを複製します // 複製メソッド 1 // let child1 = this.children('.box-body')[0]
    // child2 = this.children('.box-body')[1] とします
    // 子2.innerHTML = 子1.innerHTML
    // クローンメソッド 2 if ((box.offsetHeight + 5) < _contentTotalHeight) {
      // データが特定の高さに達しない場合、スクロール効果は実行されません child1.clone().insertAfter(child1)
      /*タイマーを開始する*/
      タイマーをsetInterval(autoScrollLine, 30)に設定します。
      /* 1行スクロールアップ効果 */
      関数 autoScrollLine() {
        /* スクロールコンテンツがスクロールされたかどうかを判断し、スクロールされた場合はスクロール値を 0 にリセットします
        それ以外の場合は、30ミリ秒ごとに1ピクセル上にスクロールします*/
        box.scrollTop >= _contentTotalHeight の場合 {
          ボックスのスクロールトップ = 0;
        } それ以外 {
          ボックスのスクロールトップ++;
        }
        /* スクロール距離がデータ行の高さとちょうど同じになったらタイマーを停止します。
        データのスクロール効果を実現するには、_time 後にタイマーを再起動します*/
        _contentChildHeight.indexOf(box.scrollTop) >= 0 の場合
          クリアインターバル(タイマー)
          タイムアウトを設定する(() => {
            タイマー = setInterval(autoScrollLine, 30)
          }、 _時間)
        }
      }
    }
  }
})(jQuery);

方向:

$('#font-scroll').FontScroll({ 時間: 1000 });

効果画像:

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

以下もご興味があるかもしれません:
  • jQueryはテーブルのシームレスなスクロールを実現します
  • JQueryはスクロールバーでスクロールするテーブルヘッダーをネイティブに実装しています。
  • asp.net+jquery スクロールバーでデータを読み込むドロップダウンコントロール
  • jQueryスクロールコンポーネント(vticker.js)は、ページ上の動的データのスクロール効果を実現します。
  • jQueryをベースに、ページが下までスクロールすると自動的にデータを読み込む機能を実現
  • js/jquery コントロール ページ 動的読み込み データ スライディング スクロール バー 自動読み込み イベント メソッド
  • jQuery スクロール ロード データ メソッド
  • jQueryまたはネイティブjsを使用して、マウスのスクロールによってページに新しいデータを読み込みます。
  • jQuery アナウンススクロール + データを取得するための AJAX 背景
  • スクロールバーを引いてデータを読み込むjQueryコード

<<:  Linux ps および pstree コマンドの知識ポイントのまとめ

>>:  MySQL ルートパスワードを変更する 4 つの方法 (要約)

推薦する

Vue で video.js を使用して m3u8 形式のビデオを再生する方法

目次1. インストール2. videojsの紹介3. コンポーネントでのテストと使用1. 基本的な自...

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

1. mpstatコマンド1.1 コマンド形式 mpstat [ -A ] [ -u ] [ -V ...

HTML で中国語を UTF-8 に変換する方法

HTMLでは、中国語のフレーズ「學好好學」は「學好好學」と表現できます。プロジェクトでは、SMSアラ...

MySQL 8.0 のデフォルトのデータディレクトリを変更する (設定なしの簡単な操作)

使用シナリオ: Alibaba Cloud を使用しており、データディスクを別途購入しました (大容...

Node.js の非同期イテレータの詳細な説明

目次序文非同期イテレータとは何ですか?非同期イテレータストリームとしてページング機能を備えたAPIの...

Mysql を 5.7 にアップグレードした後のグループ クエリの問題を解決する

問題を見つける最近MySQLをMySQL 5.7にアップグレードした後、次のようなクエリでグループ化...

JS を使用して要素が配列であるかどうかを判断する例

検証できるデータの種類は次のとおりです a = [1,2,3,4,5,6]とします。 b = [とし...

phpstudy から Linux への MySQL の移行に関するチュートリアル

プロジェクトの目的元のWindows環境でphpstudyを使用して構築されたMySQL 5.5.5...

Nginxにモジュールを動的に追加する方法

前面に書かれた多くの場合、現在のプロジェクトの状況とビジネスニーズに基づいて Nginx をインスト...

Vuex環境の詳細な説明

目次Vuex環境を構築する要約するVuex環境を構築するsrcディレクトリにフォルダstoreを作成...

便利なモバイルスクロールプラグイン BetterScroll

目次スクロールをスムーズにするBetterScrollのスクロール体験慣性ローリングエッジリバウンド...

vmware14Pro で Ubuntu システム インターフェイスが小さすぎる問題の解決方法の詳細な説明

1. 動作環境vmware14proウブントゥ 16.04LTS 2. 問題の説明vmware14P...

Mysqlトランザクション処理の詳細な説明

1. MySQLのトランザクションの概念MySQL トランザクションは主に、操作量が多く複雑度の高い...

Ubuntu 20.04 LTS で Java 開発環境を構成する

Java開発キットjdkをダウンロードするJDK のダウンロード アドレスはhttp://www.o...

フォームファイル選択ボックスのスタイルをカスタマイズする例

コードをコピーコードは次のとおりです。 <!DOCTYPE html> <html...