如何在JQuery中创建一个水平循环计时器
How to create a horizontal looping ticker in JQuery
我正在制作一个在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>
http://jsfiddle.net/mxu4v/1/当它太左时就重新设置边距:
var width = $('.ticker-text').width(),
containerwidth = $('.ticker-container').width(),
left = containerwidth;
$(document).ready(function(e){
function tick() {
if(--left < -width){
left = containerwidth;
}
$(".ticker-text").css("margin-left", left + "px");
setTimeout(tick, 16);
}
tick();
});
请注意,CSS必须更改,以便.ticker-text
假定其内容的宽度,而不是您指定的1000%
:
.ticker-text {
height: 150%;
white-space:nowrap;
display:inline-block;
}
下面是一个演示:http://jsfiddle.net/fHd4Z/
让我的评论变成一个答案:
如上所述,我相信您最好使用为此设计的现有框架之一。为了快速了解该特性,您可以从以下内容开始:http://jsfiddle.net/B9ruA/JS:
var tickerId="#tickerText";
function tickify(e) {
var text=$(e).text().split("");
var newText="";
for (var i=0;i<text.length;i++) {
newText+="<span class='tickerChar'>" + text[i] + "</span>";
}
$(e).html(newText);
}
tickify(tickerId);
function tick(){
$(tickerId + " span.tickerChar:first").hide("slide",{direction:"left"},50,function(){$(this).appendTo($(tickerId)).show("slide",{direction:"right"},50);});
}
setInterval(function(){tick()},200);
HTML: <div id="tickerText"> woo, here is some text for ticking, text that ticks, ticky text to test with </div>
CSS: div.ui-effects-wrapper {
display:inline;
}
指出:
我必须添加一些css来阻止动画角色被显示为块(因此在他们自己的行上)。你可能会让选择器更具体,以避免与页面上的其他动画(如果你有的话)发生冲突。
显然,为了平滑起见,这可以做一些时间调整-我不能麻烦地做繁琐的试验和错误的工作,但有乐趣(另一个使用框架的原因)。
在我的评论中我提到了slidelleft和slideRight方法——它们不存在。我的坏。
相关文章:
- 如何创建一个具有固定左右列和水平滚动的表
- Rails-从一个视图到下一个视图的水平转换
- 如何创建 HTML 文本框,该文本框顶部有一个水平菜单选项卡可供选择
- 水平滚动页面上的“上一个”和“下一个”链接
- 如何设置水平可滚动但垂直固定在另一个 Div 中的 Div
- 水平地添加一个接一个的背景图像
- 网站如何在页面底部创建一个水平栏
- 如何为应用程序截图创建一个漂亮的水平滚动区域,就像iTunes上的应用程序一样
- 水平滚动在点击上一个按钮时左右移动
- 如何显示行图像在一个中继器控制垂直而不是水平
- 如何确定一个除法的垂直位置和绝对水平位置
- 如何测试水平鼠标位置是否等于Javascript中的一个变量
- 如何创建一个水平隐藏滚动条
- 如何在JQuery中创建一个水平循环计时器
- 水平滚动到另一个元素中的一个元素
- 做一个响应式的Javascript水平导航,中间有Logo
- 如何创建一个水平堆叠条形图,条形图上的标签以及条形图上方的标签
- 滚动到下一节在一个水平的网站
- CSS如何修复一个元素,使其与页面水平滚动,而不是垂直滚动
- 如何创建一个水平选项卡菜单