コードを書くことなく、簡単なテキスト切り替えの例をまとめました。以前は.slideUp()
アニメーションを提供していましたが.animate()
、より細かい制御が必要で、走行距離をより長くしたい場合に使用することをお勧めします。これにより、これをどのように達成できるかについてのアイデアが得られることを願っています。
jSFiddle の例
ラフHTML
<div class="widget-container">
<p>Lorem</p>
<div class="widget-vert-rotate">
<!-- jQuery elements will be here -->
</div>
<p>dolor sit amet.</p>
</div>
CSS
それらをすべて一列に並べます。上に垂直方向に整列するのは、アニメーションが常に次の単語を文のインラインに配置するようにするためです。単語間隔をエミュレートするための右側のパディングもあります。最後に、ローテーター コンテナーの高さを設定し、そのオーバーフローを非表示に設定します。
.widget-container > * {
display: inline-block;
vertical-align: top;
padding-right: 0.4em;
}
.widget-vert-rotate {
overflow: hidden;
height: 1.1em;
}
そしてJS + jQuery
var words = ['ipsum','nunc','telum'],
i = 0,
l = words.length,
el = $('.widget-vert-rotate'),
t = 3000;
// Create the text elements
for ( ; i < l ; i++ ) {
$('<p />').text(words[i]).appendTo(el);
}
// Set the interval function
var itv = setInterval(function() {
var child = el.children().first();
child.slideUp(1000, function() {
child.remove();
el.append(
$('<p />').text(child.text())
);
});
}, t);