この記事の例では、テーブル行データのスクロール効果を実現するための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 つの方法 (要約)
Mysql5.7.19バージョンは今年リリースされた新しいバージョンです。最近のMySQLのバージ...
<TH> タグは、テーブル内のヘッダーのプロパティを設定するために使用されます。以下の...
<br />しばらくの間、多くの人が XHTML の使い方を知らないことに気付きました。...
目次1 はじめに2 トリガーの紹介3 トリガーを作成する4 トリガーを表示5. トリガーの削除6 結...
目次1. 解体のヒント2. デジタルセパレーター3. try...catch...finally が...
目次1. フックとは何ですか? 2. フックはなぜ現れるのでしょうか? 3. よく使われるフックは何...
1. Docker公式サイトにアクセスするまず、Dockerの公式ウェブサイトにアクセスして、最新の...
目次問題の説明MySQLオンラインDDLで列を追加する従来の方法01 コピー方法02 インプレースメ...
インストール中に遭遇した問題を記録しておきますので、皆様のお役に立てれば幸いです。 1. ダウンロー...
目次質問:ケース(1)子スレッドを作成する前にフォークするケース(2)子スレッドを作成した後にフォー...
目次プレゼンテーション層ビジネスレイヤーコアプラグイン xlsx ExcelインポートExcelエク...
MySQL データベースでは、テーブルが互いに関連付けられた後は、それらを任意に削除することはできま...
時間が経つにつれて、多くの人が XHTML の使い方を知らないことに気づきました。普通の初心者だけで...
HTML チェックボックスとラジオボタンスタイルの美化の簡単な例チェックボックス: XML/HTML...