Mi sono imbattuto in questo post ieri quando stavo cercando qualcosa per fare la stessa cosa. Anche se ho seguito un percorso diverso, ho capito come ottenere questo risultato.
Innanzitutto, è necessario il markup. Abbiamo intenzione di utilizzare i tag DIV per questo esempio:
<div class="scroll-box">
<div class="scroll-text">This is the text that is too long to fit in the box</div>
</div>
Quindi, abbiamo bisogno per lo stile che:
.scroll-box {
width: 100px;
height: 1.2em;
overflow: hidden;
position: relative;
}
.scroll-text {
position: absolute;
white-space: nowrap;
}
Ora abbiamo bisogno di un po 'di jQuery:
$(document).ready(function() {
$('.scroll-box').bind('marquee', function() {
var boxWidth = $(this).width;
var textWidth = $('.scroll-text', $(this)).width();
if (textWidth > boxWidth) {
var animSpeed = textWidth - boxWidth * 20; // 50 pix per sec
$(this)
.animate({scrollLeft: textWidth - scrollWidth}, animSpeed)
.animate({scrollLeft: 0}, animSpeed, function() {
$(this).trigger(marquee);
});
}
}).trigger('marquee');
});
E il gioco è fatto esso! Un bel tendone side-to-side.
NOTA BENE: non ho nemmeno una prova, e la maggior parte di esso è fuori dalla parte superiore della mia testa, ma si dovrebbe essere in grado di lavorare i nodi minori se ve ne sono, perché il concetto di base è lì.
fonte
2009-10-14 20:22:29
Questo plug-in genera errori, non è affatto fluido e presenta un'API strana. – Oleander