Seamless carousel is a very common effect, and it is very simple once you understand the logic. The effect is as followsCode section<!DOCTYPE html> <html> <head> <meta charset="utf-8"> <title>Make seamless carousel</title> <script src="js/jquery-3.4.1.min.js"></script> <style> * { margin: 0; padding: 0; user-select: none; } #div { border: 1px solid lightgray; width: 600px; height: 300px; margin: 20px; overflow: hidden; } .item { border: 1px solid lightgray; width: 96%; height: 50px; margin: 10px auto; } </style> </head> <body> <div id="div"> <div class="rollbox"></div> </div> </body> </html> <script> $(document).ready(function() { for (var i = 0; i < 7; i++) { var $item = $("<div class='item'>" + i+ "</div>"); $item.appendTo($("#div .rollbox")); } }) //Carousel action$(function() { $("#div").roll(1); }) $.prototype.roll = function(span) { span = span == undefined ? 20 : span; //Scroll rate var $that = $(this).find('.rollbox'); var index = 0; var t = setInterval(function() { $that.css('margin-top', index + 'px'); index--; check(); }, span) // $that.mouseenter(function() { clearInterval(t); }) $that.mouseleave(function() { t = setInterval(function() { $that.css('margin-top', index + 'px'); index--; check(); }, span) }) function check(){ var first = $that.children().first(); var top = parseInt(first.css('margin-top').replace('px','')); var bottom = parseInt(first.css('margin-bottom').replace('px','')); var height =first.height(); bw = parseInt(first.css('border-width').replace('px','')); var temp = index+top+height+bottom; if(temp==top-2*bw){ var last = $that.children().last(); last.after(first); $that.css('margin-top','0px'); index=0; } } } </script> Explanation of ideas
The above is the full content of this article. I hope it will be helpful for everyone’s study. I also hope that everyone will support 123WORDPRESS.COM. You may also be interested in:
|
<<: Zabbix uses PSK shared key to encrypt communication between Server and Agent
>>: Analysis of MySQL's method of exporting to Excel
1. Hot deployment: It means redeploying the entir...
1. Check whether MySQL is installed yum list inst...
1. All tags must have a corresponding end tag Prev...
Original address: http://www.webdesignfromscratch...
My computer graphics card is Nvidia graphics card...
I recently made a file system and found that ther...
Table of contents Preface 1. Understanding with e...
DIV+css structure Are you learning CSS layout? Sti...
Table of contents DOM processing Arrays method Su...
Table of contents What are spread and rest operat...
1. Background that needs to be passed through CSS...
SpringBoot is like a giant python, slowly winding...
As shown in the following figure: If the version ...
In an article a long time ago, I talked about the...
MySQL tuning Explain tool detailed explanation an...