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: The idea is this: 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: 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:
|
This article mainly introduces the deployment of ...
Neo4j (one of the Nosql) is a high-performance gr...
Table of contents 1. Introduction 2. Analysis of ...
It is very simple to build a kong cluster under t...
Table of contents 1. Back up the old MySQL5.7 dat...
1. Create a new virtual machine in VMware 15.5 1....
Build the image There are two main ways to build ...
Server matching logic When Nginx decides which se...
Table of contents 1. Software and system image 2....
This article introduces how to solve the problem ...
Table of contents Preface Modifiers of v-model: l...
I accidentally found that Vue.$set was invalid in...
1. What is scaffolding? 1. Vue CLI Vue CLI is a c...
Optimize the fastcgi configuration file fcgiext.i...
Table of contents 1. Demand 2. Effect 3. All code...