我使用.animate的函数工作得很好,但是我试图添加一个setTimeout (可能是2-3秒),并且没有取得多大进展。
下面是动画的代码。
tt = $('#tickertext');
tt.append('<pre>' + 'Paolo Nutini: New Shoes');
console.log('width ' + tt.width());
w = parseInt(tt.width());
tt.animate({
left: w * -1
}, w * 10, 'linear', backToStart);
$('#ticker').css('width', '155px').css('visibility', 'visible');
$('#tickerholder').css('width', '155px');
function backToStart() {
tt.animate({
left: 155
}, 1)
.animate({
left: w * -1
}, (w + 155) * 10, 'linear', backToStart);
}下面我不应该做这样的事情:
setTimeout("backToStart", 3000);我到底错过了什么?以上所述均无效果。
发布于 2014-02-04 00:48:55
看起来该方法处于闭包作用域中,所以请尝试
setTimeout(backToStart, 3000);甚至字符串参数都是错误的,因为在这种情况下,您需要像setTimeout("backToStart()", 3000);那样调用函数,但是方法backToStart必须位于全局范围内。
https://stackoverflow.com/questions/21540901
复制相似问题