Я наткнулся на этот пост вчера, когда искал что-то, чтобы сделать то же самое. Хотя я пошел другим путем, я понял, как этого добиться.
Во-первых, вам нужна ваша разметка. Мы собираемся использовать теги DIV для этого примера:
<div class="scroll-box">
<div class="scroll-text">This is the text that is too long to fit in the box</div>
</div>
Далее нам нужно стилизовать его:
.scroll-box {
width: 100px;
height: 1.2em;
overflow: hidden;
position: relative;
}
.scroll-text {
position: absolute;
white-space: nowrap;
}
Теперь нам нужен 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');
});
И вот оно! Милый маленький шатёр из стороны в сторону.
ОТКАЗ ОТ ОТВЕТСТВЕННОСТИ: Я даже не проверял это, и большая часть этого была у меня на макушке, но вы должны быть в состоянии решить незначительные перегибы, если таковые имеются, потому что есть основная концепция.