【发布时间】:2013-04-02 03:21:38
【问题描述】:
我正在开发一个在 div 正文中循环文本的代码。我可以让它以指定的速率移动文本,但我无法弄清楚如何让 JQuery 循环文本。一旦 div 中的内容到达末尾,我如何将它循环回来,同时仍然显示尾部的其余内容?
代码:
var left = -500;
$(document).ready(function(e){
function tick() {
left++;
$(".ticker-text").css("margin-left", -left + "px");
setTimeout(tick, 16);
}
tick();
});
html:
<div class = "ticker-container">
<div class = "ticker-text">
start text text text text text text text text text text text text text text text
text text text text text text text text text text text text text text text text
text text text text text text text text text text text text text text text text end
</div>
</div>
【问题讨论】:
-
您需要将每个文本部分包装在一个元素中,然后在元素完全看不见时将它们移回开头。
-
您确定没有适合您用途的轮子吗?如果您确实觉得有必要重新发明一个,workshop.rs/2011/09/news-ticker-in-4-lines-of-jquery 有一个很棒的关于垂直行情的教程。您可以通过更改效果(例如,slideLeft 而不是 slideUp)和目标元素(一个快速而巧妙的解决方案是将字符串拆分为“”,然后用
<span class="tickerChar"></span>包装每个字符)使其水平。也就是说,为什么不jquerynewsticker.com?
标签: javascript jquery html css