我使用.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);
我到底错过了什么?以上是没有效果的。
答案 0 :(得分:1)
看起来该方法在闭包范围内,请尝试
setTimeout(backToStart, 3000);
甚至string参数都是错误的,因为在这种情况下你需要调用像setTimeout("backToStart()", 3000);
这样的函数,但是方法backToStart
必须在全局范围内