JSFiddle - React, Tailwind, and code Playground
by jefferyto
HTML
<div class="flying1">
<div class="flying-text">Text1</div>
<div class="flying-text">Text2</div>
<div class="flying-text">Text3</div>
</div>
CSS
.flying-text{
margin-left: -50px;
}
JavaScript
var text = [
[ 'Text1', 'Text2', 'Text3' ],
[ 'Text4', 'Text5', 'Text6' ]
],
reset = {
opacity: 0,
marginLeft: -50
},
flyout = {
opacity: 1,
marginLeft: 0
},
flyoutDuration = 1200,
changeTextDelay = 5000,
q = $({}), // can also be a common element, e.g. $('.flying1')
pos = 0;
function changeText() {
$('.flying1 .flying-text').each(function(i) {
var div = $(this);
// setup text
div.css(reset).text(text[pos][i]);
// queue
q.queue(function(next) {
div.animate(flyout, flyoutDuration, next);
});
});
q.delay(changeTextDelay).queue(function(next) {
pos = (pos + 1) % text.length;
changeText();
next();
});
}
changeText();