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

推薦する

...

mysql5.7.19 解凍版の詳細なインストール チュートリアル (純粋なクラックされた中国語版 SQLYog を使用)

Mysql5.7.19バージョンは今年リリースされた新しいバージョンです。最近のMySQLのバージ...

HTML テーブル タグ チュートリアル (36): テーブル ヘッダーの背景色属性 BGCOLOR

<TH> タグは、テーブル内のヘッダーのプロパティを設定するために使用されます。以下の...

一般的な XHTML タグの紹介

<br />しばらくの間、多くの人が XHTML の使い方を知らないことに気付きました。...

MySQLデータベーストリガーの詳細な説明

目次1 はじめに2 トリガーの紹介3 トリガーを作成する4 トリガーを表示5. トリガーの削除6 結...

JavaScript に関する 6 つの奇妙で便利な点

目次1. 解体のヒント2. デジタルセパレーター3. try...catch...finally が...

Reactにおけるフックの一般的な使用法

目次1. フックとは何ですか? 2. フックはなぜ現れるのでしょうか? 3. よく使われるフックは何...

win10環境でDockerをインストールする実装

1. Docker公式サイトにアクセスするまず、Dockerの公式ウェブサイトにアクセスして、最新の...

MySQL 8.0 オンライン DDL クイック列追加の概要

目次問題の説明MySQLオンラインDDLで列を追加する従来の方法01 コピー方法02 インプレースメ...

MySQL 8.0.17 解凍版のインストールと設定方法のグラフィックチュートリアル

インストール中に遭遇した問題を記録しておきますので、皆様のお役に立てれば幸いです。 1. ダウンロー...

Linux でのマルチスレッドにおけるフォークの紹介

目次質問:ケース(1)子スレッドを作成する前にフォークするケース(2)子スレッドを作成した後にフォー...

ReactはExcelファイルのインポートとエクスポートを実装します

目次プレゼンテーション層ビジネスレイヤーコアプラグイン xlsx ExcelインポートExcelエク...

MySQLで関連テーブルを削除する実用的な方法

MySQL データベースでは、テーブルが互いに関連付けられた後は、それらを任意に削除することはできま...

XHTMLコードの一般的なアプリケーション問題をまとめる

時間が経つにつれて、多くの人が XHTML の使い方を知らないことに気づきました。普通の初心者だけで...

HTML チェックボックスとラジオボタンスタイルの美化の簡単な例

HTML チェックボックスとラジオボタンスタイルの美化の簡単な例チェックボックス: XML/HTML...