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 つの方法 (要約)

推薦する

koa2 サービスに SSL を設定する方法

I. はじめに1: SSL証明書私のドメイン名は Tencent Cloud にあります。第 3 レ...

Dockerコンテナでユーザーを切り替えるときに権限が不足する問題を解決する方法

Docker コンテナでユーザーを切り替えると、権限が不十分であるというメッセージが表示されます。解...

Javascriptジェネレータの紹介と使用

ジェネレータとは何ですか?ジェネレーターは関数内で実行されるコードです。値を返した後、一時停止し、呼...

クロスドメイン js フロントエンドの 8 つの実装ソリューション

目次1. jsonp クロスドメイン2. document.domain + iframe クロスド...

IPとポートが接続可能かどうかを検出する方法

Windows コマンドテルネット形式: telnet IP ポート場合: テルネット 191.1....

MySQL解凍版のインストール手順の詳しい説明

1. 公式サイトにアクセスします: D:\mysql-5.7.21-winx64\bin をダウンロ...

CSS で 2 列レイアウトを実現する N 通りの方法

1. 2 列レイアウトとは何ですか? 2 列レイアウトには、左側が固定幅で右側が適応幅のレイアウトと...

mysql8.0.23 msi インストールの超詳細なチュートリアル

1.MySqlをダウンロードしてインストールする公式ウェブサイトからMySqlデータベースをダウンロ...

MySQL トランザクション分離レベルの原則例分析

導入あなたも面接でこれに遭遇したことがあるはずです。トランザクションの分離レベルについてお話ししまし...

Windows10 HomeバージョンにDockerをインストールするときに発生する問題の概要

Docker ダウンロード アドレス: http://get.daocloud.io/#instal...

サーバーストレステストの概念と方法 (TPS/同時実行性)

目次1 ストレステストの指標1.1 秒あたり1.2 クォータ1.3 平均処理時間(RT) 1.4 同...

MySQLデータベースに接続し、クエリ操作を実行するためのIDEAの完全なコード

1.まずMysqlリンク設定ページを書く パッケージ com.wretchant.fredis.me...

MYSQLストアドプロシージャ、つまり一般的な論理知識のポイントの要約

MySQL ストアド プロシージャ1. ストアドプロシージャ構文(フォーマット)を作成する 区切り文...

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

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