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

推薦する

表に斜めヘッダー効果を出す5つの方法

誰もがテーブルをよく知っているはずです。コード内でよく見かけます。テーブルにスラッシュ ヘッダーを追...

Linux ifconfig コマンドの使用

1. コマンドの紹介ifconfig (ネットワーク インターフェイスを構成する) コマンドは、ネッ...

JavaScript関数の使い方の詳細な説明

目次1. 関数を宣言する2. 関数の呼び出し3. 関数パラメータ4. 関数の戻り値5. 議論の使用6...

Nginxはドメイン名のアクセス方法を定義しています

最近Nginxを構築しているのですが、ドメイン名でアクセスできません。 nginx 構成ファイル n...

Linux システム AutoFs 自動マウント サービスのインストールと構成

目次序文1. サービスプログラムをインストールする2. メイン設定ファイルを書く3. サブ構成ファイ...

WeChatアプレットキャンバスが署名機能を実装

WeChatアプレットプロジェクトでは、開発モジュールに手書き署名機能が含まれ、WeChatアプレッ...

Vue でコンポーネントを一括インポート、登録、使用する方法

序文コンポーネントは、非常に頻繁に使用されるものです。多くの人は、コンポーネントを 1 つのファイル...

エージェントを介したzabbix監視プロセスとポートの詳細なプロセス

環境の紹介オペレーティングシステム: Centos 7.4 Zabbix バージョン: zabbix...

Web データ ストレージ: Cookie、UserData、SessionStorage、WebSqlDatabase

クッキーこれはクライアント ブラウザの状態を保存するための標準的な方法です。Cookie はブラウザ...

Vue.jsは背景テーブルコンポーネントのカプセル化を管理します

目次問題分析なぜカプセル化なのかパッケージの内容は何ですか?テーブルコンポーネントをカプセル化するデ...

サーバー同時実行数の推定式と計算方法

最近、サーバーのストレステストを再度行う必要が出てきました。ここでは、最近学んだ見積もりスキームと見...

1分でVueが右クリックメニューを実装

目次レンダリングインストールコードの実装カスタムスタイル要約する効率的に要件を満たし、車輪の再発明を...

HTML でハイパーリンク タグを使用するチュートリアル

ウェブサイトのさまざまな HTML ドキュメントはハイパーリンクを通じて相互に接続され、一貫性のある...

CSS3でカルーセル画像を作成する方法

スライドショーは Web ページでよく見られます。美しい写真が使われています。こちらは純粋な CSS...

フラッシュプラグインを使用してPCのカメラを呼び出し、TMLページに埋め込む方法

序文この記事を書いた主な理由は、チームリーダーが、ブラウザを使用してコンピューターのカメラを呼び出し...