Я пытаюсь создать анимацию, в которой я создаю 4 круга в Рафаэле через 10 секунд после загрузки страницы.Затем, через 10 секунд, я хочу удалить все эти круги и сделать еще 10 (10 новых кругов с именами, отличными от оригинальных 10).
Вот что у меня есть:
var paper = Raphael(0, 100, 1350, 800);
setTimeout(function() {
var a1 = paper.circle(200,200,100);
var a2 = paper.circle(300,300,100);
var a3 = paper.circle(400,400,100);
var a4 = paper.circle(500,500,100);
}, 10000);
setTimeout(function() {
a1.remove();
a2.remove();
a3.remove();
a4.remove();
var b1 = paper.circle(300,200,100);
var b2 = paper.circle(400,300,100);
var b3 = paper.circle(500,400,100);
var b4 = paper.circle(600,500,100);
}, 20000);
Однако, когда я добираюсь до отправки setTimeout, .remove()
ничего не делает.Они убивают остальную часть сценария.Когда я вынимаю их, новые круги создаются просто отлично, но я не могу избавиться от первого сета.
Я понимаю, что это что-то с привязками, но я не могу заставить его работать.Я попытался сделать это в первом setTimeout:
setTimeout(function() {
var a1 = paper.circle(200,200,100);
$(a1.node).live();
var a2 = paper.circle(300,300,100);
$(a2.node).live();
var a3 = paper.circle(400,400,100);
$(a3.node).live();
var a4 = paper.circle(500,500,100);
$(a4.node).live();
}, 1000);
Но когда он доберется до первого .live()
, он умрет.
Любой совет?Я чувствую, что есть кое-что очень простое, что я скучаю.Может быть, какое-то закулисное объяснение того, что он пытается сделать?
Я буду расширять это почти до 100 кадров (100 setTimeouts).Любой совет, как сделать это более эффективным?Я немного новичок в этом.Любой совет будет оценен.