var $tickerWrapper = $(".tickerwrapper");
var $list = $tickerWrapper.find("ul.list");
var $clonedList = $list.clone();
var listWidth = 10;
$list.find("li").each(function (i) {
listWidth += $(this, i).outerWidth(true);
});
var endPos = $tickerWrapper.width() - listWidth;
$list.add($clonedList).css({
width: listWidth + "px",
});
$clonedList.addClass("cloned").appendTo($tickerWrapper);
//TimelineMax
var infinite = new TimelineMax({
repeat: -1,
paused: true,
});
var time = 40;
infinite
.fromTo(
$list,
time,
{
rotation: 0.01,
x: 0,
},
{
force3D: true,
x: -listWidth,
ease: Linear.easeNone,
},
0
)
.fromTo(
$clonedList,
time,
{
rotation: 0.01,
x: listWidth,
},
{
force3D: true,
x: 0,
ease: Linear.easeNone,
},
0
)
.set($list, {
force3D: true,
rotation: 0.01,
x: listWidth,
})
.to(
$clonedList,
time,
{
force3D: true,
rotation: 0.01,
x: -listWidth,
ease: Linear.easeNone,
},
time
)
.to(
$list,
time,
{
force3D: true,
rotation: 0.01,
x: 0,
ease: Linear.easeNone,
},
time
)
.progress(1)
.progress(0)
.play();
//Pause/Play
$tickerWrapper
.on("mouseenter", function () {
infinite.pause();
})
.on("mouseleave", function () {
infinite.play();
});
.tickerwrapper {
position: relative;
top: 30px;
left: 0%;
background: transparent;
width: 100%;
height: 100%;
overflow: hidden;
cursor: pointer;
}
ul.list {
position: relative;
display: inline-block;
list-style: none;
padding: 40px;
margin: 0;
color: aliceblue;
}
ul.list.cloned {
position: absolute;
top: 0px;
left: 0px;
}
ul.list li {
float: left;
padding-left: 20px;
}
.client_img {
height: 4vw;
padding-left: 100px;
}
<script src="https://code.jquery.com/jquery-3.4.1.slim.min.js"></script>
<script src="https://cdnjs.cloudflare.com/ajax/libs/gsap/1.11.4/TweenMax.min.js"></script>
<div class="tickerwrapper">
<ul class="list">
<li class="listitem">
<img alt="3d logo" class="client_img" src="https://assets.stickpng.com/images/60e7f964711cf700048b6a6a.png" />
</li>
<li class="listitem">
<img alt="3d logo" class="client_img" src="https://assets.stickpng.com/images/60e7f964711cf700048b6a6a.png" />
</li>
<li class="listitem">
<img alt="3d logo" class="client_img" src="https://assets.stickpng.com/images/60e7f964711cf700048b6a6a.png" />
</li>
<li class="listitem">
<img alt="3d logo" class="client_img" src="https://assets.stickpng.com/images/60e7f964711cf700048b6a6a.png" />
</li>
<li class="listitem">
<img alt="3d logo" class="client_img" src="https://assets.stickpng.com/images/60e7f964711cf700048b6a6a.png" />
</li>
<li class="listitem">
<img alt="3d logo" class="client_img" src="https://assets.stickpng.com/images/60e7f964711cf700048b6a6a.png" />
</li>
<li class="listitem">
<img alt="3d logo" class="client_img" src="https://assets.stickpng.com/images/60e7f964711cf700048b6a6a.png" />
</li>
<li class="listitem">
<img alt="3d logo" class="client_img" src="https://assets.stickpng.com/images/60e7f964711cf700048b6a6a.png" />
</li>
<li class="listitem">
<img alt="3d logo" class="client_img" src="https://assets.stickpng.com/images/60e7f964711cf700048b6a6a.png" />
</li>
<li class="listitem">
<img alt="3d logo" class="client_img" src="https://assets.stickpng.com/images/60e7f964711cf700048b6a6a.png" />
</li>
<li class="listitem">
<img alt="3d logo" class="client_img" src="https://assets.stickpng.com/images/60e7f964711cf700048b6a6a.png" />
</li>
<li class="listitem">
<img alt="3d logo" class="client_img" src="https://assets.stickpng.com/images/60e7f964711cf700048b6a6a.png" />
</li>
<li class="listitem">
<img alt="3d logo" class="client_img" src="https://assets.stickpng.com/images/60e7f964711cf700048b6a6a.png" />
</li>
<li class="listitem">
<img alt="3d logo" class="client_img" src="https://assets.stickpng.com/images/60e7f964711cf700048b6a6a.png" />
</li>
<li class="listitem">
<img alt="3d logo" class="client_img" src="https://assets.stickpng.com/images/60e7f964711cf700048b6a6a.png" />
</li>
</ul>
</div>