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モードで同期レプリケーションエラーをスキップできない問題の解決方法

推薦する

ネイティブJavaScriptでカルーセルを実装する

この記事では、JavaScriptでカルーセルを実装するための具体的なコードを参考までに紹介します。...

ホストNginx + Docker WordPress Mysqlを設定するための詳細な手順

環境Linux 3.10.0-693.el7.x86_64 Docker バージョン 18.09.0...

非常に実用的なTomcat起動スクリプトの実装方法

序文セキュリティ上の理由から、会社が Linux サーバーへのすべてのログインにセキュリティ制限を課...

製品の拡大鏡効果を実現する JavaScript

この記事では、参考までに、製品拡大鏡を実装するためのJavaScriptの具体的なコードを紹介します...

商品クエリ機能を実現するJavaScript

この記事の例では、商品検索機能を実現するためのJavaScriptの具体的なコードを参考までに共有し...

Ajax jQueryはページ上のdivの更新効果を実現します

元のコードは次のとおりです。 <div class='コントロールグループ'&...

CocosCreatorメッセージ配信メカニズムの詳細な説明

概要この記事は、ゲームビジネスアーキテクチャに関連するコンテンツの紹介から始まります。ゲームビジネス...

JSにおけるデータ型の正しい判定方法の例

目次序文typeof は型を正しく判別できますか? instanceof は型を正しく判別できますか...

HTML タグ マーキーを使用してスクロール効果を実現する簡単な方法 (必読)

ページの自動スクロール効果は JavaScript で実現できますが、今日偶然、JS 制御なしでさま...

要素動的ルーティングブレッドクラムの実装例

マスターするには: localStorage、コンポーネントのカプセル化えーと、GIF に変換したビ...

border-radiusは要素に丸い境界線を追加する方法です

border-radius:10px; /* すべての角は半径 10px で丸められます*/ bor...

CentOS7 に ElasticSearch 6.4.1 をインストールするための詳細なチュートリアル

1. ElasticSearch 6.4.1 インストール パッケージを次の場所からダウンロードしま...

React の 10 個のフックの紹介

目次ReactHook とは何ですか? Reactは現在フックを提供している1. 使用状態2.use...

Vue プロジェクトは、コードの暗号化と難読化を実装するために webpack-obfuscator を設定します。

背景会社のコードは第三者に提供され、利用されます。ソースコードが完全に漏洩しないようにするには、提供...

Discuz! フォーラムに設定オプションを追加する方法

Discuz! フォーラムにはバックグラウンドで多くの設定オプションがあり、これらの設定オプションを...