我正在使用此插件:http://www.spritely.net/ 谁能告诉我为什么变量$ sprite不会重新执行?
function animate_header() {
var $sprite = $('#header')
.sprite({
fps: 30,
no_of_frames: 4,
// the following are optional: new in version 0.6...
start_at_frame: 1,
rewind: false,
on_last_frame: function(obj) {
// you could stop the sprite here with, e.g.
obj.spStop();
}
})
.active();
}
var init = setInterval("animate_header()", 1000);
我也试过这个:
function animate_header() {
$('#header')
.sprite({
fps: 30,
no_of_frames: 4,
// the following are optional: new in version 0.6...
start_at_frame: 1,
rewind: false,
on_last_frame: function(obj) {
// you could stop the sprite here with, e.g.
obj.spStop();
}
})
.active();
}
var init = setInterval("animate_header()", 1000);
函数本身每秒执行一次。但精灵没有。
答案 0 :(得分:3)
这对我有用。我首先设置选项,然后使用spStart函数将其循环。
$('#header')
.sprite({
fps: 30,
no_of_frames: 4,
start_at_frame: 1,
rewind: false,
on_last_frame: function(obj) {
// you could stop the sprite here with, e.g.
obj.spStop();
}
});
setInterval ( "$('#header').spStart()", 1000 );
答案 1 :(得分:1)
对于其他可能偶然发现的人,请使用
.destroy()
动画似乎在每隔一段时间运行几次后就会中断,但是销毁会修复它:)
答案 2 :(得分:0)
尝试在代码末尾用.active();
替换.spStart();
。
看起来在最后一帧上调用的obj.spStop()
只会导致动画死亡,它需要一个快速启动才能实现...
为我工作:))
答案 3 :(得分:0)
我最终这样做了。我按照自己的意愿工作。
function loop() {
$('#bird').sprite({fps: 7, no_of_frames: 4, play_frames: 4});
var t = setTimeout(function(){
loop()
}, 2000);
}
loop()
感谢您的回复。