Tips for implementing list loop scrolling based on jQuery (super simple)

Tips for implementing list loop scrolling based on jQuery (super simple)

I saw a good idea and recorded it.

I have used jQuery to achieve scrolling effects before. In these two articles, I wrote: Article 1, Article 2, respectively used scrollLeft() and scrollTop(), scroll() to achieve

Later I saw a demo and thought it was a great idea. I thought it could be used to scroll the list items. The effect was probably like this:
insert image description here

The idea is this:
As long as you can keep moving the first item to the end, the rest will fill the gap. If you slow down the filling process with animation, you can have a continuous scrolling visual effect (deleting the first element from the array and then adding this element to the end is equivalent to moving the first element to the end; the total number of elements has not changed, but the positions have all changed)

Code:

//Data to be filledvar data = {
     infoItem: [
         "<strong>Line 1:</strong>Anzhian ...
         "<strong>Line 2:</strong>Sunshine Rainbow Little White HorseSunshine Rainbow Little White HorseSunshine Rainbow Little White Horse",
         "<strong>Line 3:</strong> The vastness of heaven and earth. The vastness of heaven and earth. The vastness of heaven and earth. The vastness of heaven and earth."
     ]
 }
 // Dynamically fill data into the page var infoList = []
 for (let i = 0; i < data.infoItem.length; i++){
     let infoStr = `<div class="item">${data.infoItem[i]}</div>`
     infoList.push(infoStr);
 }
 $(".info-wrapper").html(infoList.join(""))

 // Set a timer to execute every 2 seconds (change once)
 var timer = null;
 timer = setInterval(function () {
     // Move the first row of items to the last row, and move the others up to fill the vacancies var infoItemTmp = infoList.shift();
     $(".info-wrapper").append(infoItemTmp);
     $(".item:first").remove();
     infoList.push(infoItemTmp)

 }, 2000)

HTML and style parts:

<div class="container">
        <div class="wrapper">
            <div class="info">
                <div class="info-wrapper"></div>
            </div>
        </div>
    </div>
.container {
    width: 900px;
    height: 400px;
    border: 2px solid #eee;
    display: flex;
    justify-content: center;
    align-items: center;
}

.wrapper {
    width: 500px;
    height: 300px;
    border: 1px solid #ccc;
    display: flex;
    justify-content: center;
    align-content: center;
}

.info {
    width: 100%;
    height: 100%;
    display: flex;
    flex-direction: column;
    justify-content: space-between;
    align-content: center;
}

.info-wrapper {
    width: 100%;
    height: 100%;
    overflow: hidden;
}

.item {
    border: 2px solid #ccc;
    border-left: 4px solid orange;
    height: 80px;
    width: 100%;
    display: flex;
    justify-content: center;
    align-items: center;
    box-sizing: border-box;
    border-radius: 8px;
    margin-top: 20px;
}

The current effect is this:

insert image description here

Plus the sliding effect animation:

.item:first-child {
    animation: move 2s linear;
}
@keyframes move {
    100% {
        margin-top: -80px;
    }
}

Keep sliding until you reach a position where you can add a new item, triggering the addition of the new item:

// Set the timer to execute (change once) every 2 seconds - the same as the time set during animation var timer = null;
timer = setInterval(function () {
    if ($('.info').scrollTop() + $('.info').height() >= $('.info-wrapper').height()) {
        // Move the first row of items to the last row, and move the others up to fill the vacancies var infoItemTmp = infoList.shift();
        $(".info-wrapper").append(infoItemTmp);
        $(".item:first").remove();
        infoList.push(infoItemTmp)
    }
}, 2000)

You can get the effect of the beginning

This concludes this article about tips for implementing list loop scrolling based on jQuery (super simple). For more relevant jQuery list loop scrolling content, please search 123WORDPRESS.COM’s previous articles or continue browsing the following related articles. I hope you will support 123WORDPRESS.COM in the future!

You may also be interested in:
  • Jquery realizes the special effects of seamless upward circular scrolling list
  • jQuery implements automatic scrolling of lists to display news
  • jQuery loop scrolling news list sample code
  • jQuery implements automatic circular scrolling of the list and stops scrolling when the mouse is hovering
  • Continuous and pauseable scrolling example using jQuery
  • jQuery controls the li up and down circular scrolling plug-in usage example (with demo source code download)
  • Various JQuery loop scrolling text and image effect codes

<<:  Graphical instructions for uploading and downloading files to a remote Linux host based on SecureCRT

>>:  Solution to the problem that synchronous replication errors cannot be skipped in MySQL5.6 GTID mode

Recommend

MySQL 5.7.23 installation and configuration method graphic tutorial

This article records the installation tutorial of...

How to use Xtrabackup to back up and restore MySQL

Table of contents 1. Backup 1.1 Fully prepared 1....

Flex layout makes adaptive pages (syntax and examples)

Introduction to Flex Layout Flex in English means...

Summary of 6 Linux log viewing methods

As a backend programmer, you deal with Linux in m...

Implementation of HTML command line interface

HTML Part Copy code The code is as follows: <!D...

HTML table tag tutorial (24): horizontal alignment attribute of the row ALIGN

In the horizontal direction, you can set the row ...

Summary of MySQL ALTER command knowledge points

When we need to change the table name or modify t...

Nginx routing forwarding and reverse proxy location configuration implementation

Three ways to configure Nginx The first method di...

Practical example of nested routes in vue.js Router

Table of contents Preface Setting up with Vue CLI...

Node.js returns different data according to different request paths.

Table of contents 1. Learn to return different da...

Detailed explanation of the frame and rules attributes of the table in HTML

The frame and rules attributes of the table tag c...

Nexus uses nginx proxy to support HTTPS protocol

background All company websites need to support t...

Analysis of the reasons why MySQL's index system uses B+ tree

Table of contents 1. What is an index? 2. Why do ...