我创建了一个水平滚动条以滚动最新的推文。通过Sea of clouds jQuery plugin提供推文。
我创建了一个动画功能,我尝试使用setTimeout(doTicker, 6000);
任何人都可以帮我看看我做错了什么吗?非常感谢,谢谢。
见下面的代码......
还创造了小提琴。 http://jsfiddle.net/motocomdigital/h4x8D/1/
无法让doTicker循环/循环
$(".tweetbar-ticker").tweet({
username: "twitter",
join_text: "auto",
count: 1,
auto_join_text_default: "we said,",
auto_join_text_ed: "we",
auto_join_text_ing: "we were",
auto_join_text_reply: "we replied to",
auto_join_text_url: "we were checking out",
loading_text: "loading tweets..."
}).bind("loaded", function() {
$('.tweetbar-ticker ul li').clone().appendTo('.tweetbar-ticker ul');
var $tweetBar = $('.tweetbar-ticker'),
tweetLength = $('.tweetbar-ticker ul li').outerWidth(),
$tweetAnchor = $('.tweetbar-ticker ul li a');
$tweetBar.css({
'width': tweetLength * 2 + 'px'
});
$tweetAnchor.attr({
target: "_blank"
});
function doTicker() {
$tweetBar.animate({
'left': '-' + tweetLength + 'px'
}, 20000, 'linear');
setTimeout(doTicker, 6000);
}
doTicker();
});
由于 约什
答案 0 :(得分:2)
你有正确的代码,但只要它已经动画化为该值,它就不会生成动画 - 所以你必须重置左css。
其次,最好将其称为回调而不是setTimeout ...
检查:
答案 1 :(得分:0)
你试图以6秒的超时递归调用doTicker()吗?
如果是这样,为什么不使用setInterval
?
就是这样:
function doTicker() {
$tweetBar.animate({
'left': '-' + tweetLength + 'px'
}, 20000, 'linear');
}
setInterval(doTicker,6000);