jQuery をベースにリスト ループ スクロールを実装するためのヒント (超簡単)

jQuery をベースにリスト ループ スクロールを実装するためのヒント (超簡単)

良いアイデアを見つけたので記録しました。

私は以前、スクロール効果を実現するためにjQueryを使用したことがあります。これらの2つの記事では、記事1、記事2でそれぞれscrollLeft()とscrollTop()、scroll()を使用して、

後でデモを見て、これは素晴らしいアイデアだと思いました。リスト項目をスクロールするのに使えると思いました。効果はおそらく次のようになります。
ここに画像の説明を挿入

アイデアは次のとおりです。
最初の項目を最後まで移動し続けることができれば、残りの項目で隙間を埋めることができます。アニメーションを使用して埋めるプロセスを遅くすると、連続スクロールの視覚効果が得られます (配列から最初の要素を削除し、この要素を最後に追加することは、最初の要素を最後に移動することと同じです。要素の総数は変わりませんが、位置はすべて変更されます)

コード:

//入力するデータvar data = {
     情報項目: [
         「<strong>1 行目:</strong>Anzhian ...」
         「<strong>2 行目:</strong>サンシャイン レインボー リトル ホワイト ホースサンシャイン レインボー リトル ホワイト ホース」
         「<strong>第3行:</strong> 天と地の広大さ。天と地の広大さ。天と地の広大さ。天と地の広大さ。」
     ]
 }
 // ページにデータを動的に入力します var infoList = []
 (i = 0 とします; i < data.infoItem.length; i++){
     infoStr = `<div class="item">${data.infoItem[i]}</div>` とします。
     infoList.push(infoStr);
 }
 $(".info-wrapper").html(infoList.join(""))

 // 2秒ごとに実行するタイマーを設定します(1回変更)
 var タイマー = null;
 タイマー = setInterval(関数() {
     // 最初の行の項目を最後の行に移動し、他の項目を空いている行まで上に移動します var infoItemTmp = infoList.shift();
     $(".info-wrapper").append(infoItemTmp);
     $(".item:first").remove();
     infoList.push(infoItemTmp)

 }, 2000)

HTML とスタイル部分:

<div class="コンテナ">
        <div class="wrapper">
            <div class="info">
                <div class="info-wrapper"></div>
            </div>
        </div>
    </div>
。容器 {
    幅: 900ピクセル;
    高さ: 400px;
    境界線: 2px 実線 #eee;
    ディスプレイ: フレックス;
    コンテンツの中央揃え: 中央;
    アイテムの位置を中央揃えにします。
}

.ラッパー{
    幅: 500ピクセル;
    高さ: 300px;
    境界線: 1px 実線 #ccc;
    ディスプレイ: フレックス;
    コンテンツの中央揃え: 中央;
    コンテンツの位置を中央揃えにします。
}

。情報 {
    幅: 100%;
    高さ: 100%;
    ディスプレイ: フレックス;
    flex-direction: 列;
    コンテンツの両端揃え: スペースの間;
    コンテンツの位置を中央揃えにします。
}

.infoラッパー{
    幅: 100%;
    高さ: 100%;
    オーバーフロー: 非表示;
}

。アイテム {
    境界線: 2px 実線 #ccc;
    border-left: 4px 実線オレンジ;
    高さ: 80px;
    幅: 100%;
    ディスプレイ: フレックス;
    コンテンツの中央揃え: 中央;
    アイテムの位置を中央揃えにします。
    ボックスのサイズ: 境界線ボックス;
    境界線の半径: 8px;
    上マージン: 20px;
}

現在の影響は次のとおりです。

ここに画像の説明を挿入

さらにスライド効果アニメーション:

.item:最初の子 {
    アニメーション: 2 秒線形移動;
}
@keyframes 移動 {
    100% {
        上マージン: -80px;
    }
}

新しいアイテムを追加できる位置に到達するまでスライドを続け、新しいアイテムの追加をトリガーします。

// アニメーション中に設定された時間と同じ、2 秒ごとに実行 (1 回変更) するようにタイマーを設定します。var timer = null;
タイマー = setInterval(関数() {
    ($('.info').scrollTop() + $('.info').height() >= $('.info-wrapper').height()) の場合 {
        // 最初の行の項目を最後の行に移動し、他の項目を空いている行まで上に移動します var infoItemTmp = infoList.shift();
        $(".info-wrapper").append(infoItemTmp);
        $(".item:first").remove();
        infoList.push(infoItemTmp)
    }
}, 2000)

冒頭の効果を得ることができます

以上で、jQuery をベースにリスト ループ スクロールを実装するコツ (超簡単) についての記事は終了です。jQuery リスト ループ スクロールに関するより関連性の高いコンテンツについては、123WORDPRESS.COM の過去の記事を検索するか、以下の関連記事を引き続きご覧ください。今後とも 123WORDPRESS.COM をよろしくお願いいたします。

以下もご興味があるかもしれません:
  • JQuery はシームレスな上向き円形スクロールリストの特殊効果を実現します
  • jQuery はニュースを表示するためのリストの自動スクロールを実装します
  • jQuery ループ スクロール ニュース リスト サンプル コード
  • jQueryはリストの自動円形スクロールを実装し、マウスがホバーするとスクロールを停止します。
  • jQuery を使用した連続および一時停止可能なスクロールの例
  • jQuery は、上下の円形スクロール プラグインの使用例を制御します (デモ ソース コードのダウンロード付き)
  • さまざまな JQuery ループスクロールテキストおよび画像効果コード

<<:  SecureCRT に基づくリモート Linux ホストへのファイルのアップロードとダウンロードのグラフィカルな手順

>>:  MySQL5.6 GTIDモードで同期レプリケーションエラーをスキップできない問題の解決方法

推薦する

フォームアクションとonSubmitの例

まず、action はフォームの属性です。HTML5 では必須の属性値として定義されています。onS...

Linux でファイルのユーザーとグループを変更する方法

Linux では、ファイルが作成されると、そのファイルの所有者はファイルを作成したユーザーになります...

MySQL の列から行への変換のヒント (共有)

序文:多くのビジネス テーブルでは、歴史的またはパフォーマンス上の理由により、最初のパラダイムに違反...

Javascript の奇妙な点をご存知ですか?

私たちのベテランの先人たちは、数え切れないほどのコードを書き、数え切れないほどの落とし穴に陥ってきま...

sed コマンドを使用してファイルの特定の行を効率的に削除する方法

序文通常、ファイル内の特定の行を削除したい場合は、まずファイルを開き、削除する内容を見つけて、これら...

JavaScript で動的な QML オブジェクトを作成する方法

1. オブジェクトを動的に作成するJavaScript からオブジェクトを動的に作成する方法は 2 ...

HTML でマウスが停止したときに行全体の色 (tr) を変更する方法

純粋な CSS を使用して、マウスが行の上を通過するときに行の背景色を変更し、その行にフォーカスがあ...

nodejs で worker_threads を使用して新しいスレッドを作成する方法

導入前の記事で述べたように、NodeJS には 2 種類のスレッドがあります。1 つは、ユーザー リ...

画像マーキー効果を実現するネイティブJS

今日は、ネイティブ JS で実装された画像マーキー効果を紹介します。効果は次のとおりです。 実装され...

Vue の v-model ディレクティブと .sync 修飾子の違いの詳細な説明

目次vモデル.sync微妙な違い機能シナリオを要約します。 vモデル <!--親コンポーネント...

CSS で水平方向と垂直方向に中央揃えする 10 の方法を教えます (要約)

面接には必需品、仕事でも必ず使います。うーん、誰でも分かるでしょう。これ以上何も言わずに、要約とレン...

アイデアコンパイラvueインデントエラー問題シナリオの分析

プロジェクトシナリオ: Vueプロジェクトを実行したらインデントエラーが出ました。ideaコンパイラ...

MySQL で distinct メソッドを使用する詳細な例

明確な意味: distinctive は、一意のレコードの数を照会するために使用されます。つまり、d...

4 つの主要な SQL ランキング関数 ROW_NUMBER、RANK、DENSE_RANK、NTILE の使用方法の紹介

1. ROW_NUMBER()定義: ROW_NUMBER() 関数は、select によってクエリ...

Dockerコンテナのタイムゾーン調整操作

Docker コンテナのタイムゾーンがホストマシンと一致しているかどうかを確認するにはどうすればよい...