この記事の例では、テーブル行データのスクロール効果を実現するための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 を応援していただければ幸いです。 以下もご興味があるかもしれません:
|
<<: Linux ps および pstree コマンドの知識ポイントのまとめ
>>: MySQL ルートパスワードを変更する 4 つの方法 (要約)
図に示すように: ポートの使用状況を確認します: sudo netstat -apn | grep ...
I. はじめに1: SSL証明書私のドメイン名は Tencent Cloud にあります。第 3 レ...
Docker コンテナでユーザーを切り替えると、権限が不十分であるというメッセージが表示されます。解...
ジェネレータとは何ですか?ジェネレーターは関数内で実行されるコードです。値を返した後、一時停止し、呼...
目次1. jsonp クロスドメイン2. document.domain + iframe クロスド...
Windows コマンドテルネット形式: telnet IP ポート場合: テルネット 191.1....
1. 公式サイトにアクセスします: D:\mysql-5.7.21-winx64\bin をダウンロ...
1. 2 列レイアウトとは何ですか? 2 列レイアウトには、左側が固定幅で右側が適応幅のレイアウトと...
1.MySqlをダウンロードしてインストールする公式ウェブサイトからMySqlデータベースをダウンロ...
導入あなたも面接でこれに遭遇したことがあるはずです。トランザクションの分離レベルについてお話ししまし...
Docker ダウンロード アドレス: http://get.daocloud.io/#instal...
目次1 ストレステストの指標1.1 秒あたり1.2 クォータ1.3 平均処理時間(RT) 1.4 同...
1.まずMysqlリンク設定ページを書く パッケージ com.wretchant.fredis.me...
MySQL ストアド プロシージャ1. ストアドプロシージャ構文(フォーマット)を作成する 区切り文...
目次グローバル変数 globalDataページプライベート変数データストレージ非同期ストレージ(デバ...