JSFiddle - React, Tailwind, and code Playground
by velo_ninja
HTML
<!DOCTYPE html>
<html lang="en">
<head>
<meta charset="UTF-8">
<meta name="viewport" content="width=device-width, initial-scale=1.0">
<title>Continuous Scrolling</title>
<style>
body {
margin: 0;
padding: 0;
overflow: hidden;
}
.container {
width: 100vw;
overflow: hidden;
}
.scroll-wrapper {
display: flex;
animation: scrollAnimation 20s linear infinite;
white-space: nowrap;
}
.customer-logos {
display: flex;
}
.customer-logos img {
flex: 0 0 auto;
width: 100px; /* Adjust the width of each image as needed */
}
@keyframes scrollAnimation {
0% {
transform: translateX(100%);
}
100% {
transform: translateX(calc(-100% + 100vw)); /* Adjust based on the viewport width */
}
}
</style>
<script src="https://code.jquery.com/jquery-3.6.4.min.js"></script>
<script>
$(document).ready(function () {
var $container = $('.scroll-wrapper');
var $clonedContainer = $container.clone();
$container.append($clonedContainer);
function scrollImages() {
var scrollDistance = $container.width();
$container.animate({ marginLeft: -scrollDistance }, 10000, 'linear', function () {
$container.css({ marginLeft: 0 });
scrollImages();
});
}
scrollImages();
});
</script>
</head>
<body>
<div class="container">
<div class="scroll-wrapper">
<div class="customer-logos">
<img src="https://image.freepik.com/free-vector/luxury-letter-e-logo-design_1017-8903.jpg">
<img src="https://image.freepik.com/free-vector/3d-box-logo_1103-876.jpg">
<img src="https://image.freepik.com/free-vector/blue-tech-logo_1103-822.jpg">
<img src="https://image.freepik.com/free-vector/colors-curl-logo-template_23-2147536125.jpg">
<img src="https://image.freepik.com/free-vector/abstract-cross-logo_23-2147536124.jpg">
...