Question: Hi there
I've made this animation using the Raphael framework. I want the star (logoStar) to spin indefinitely but it only runs once. Can anyone help? Thanks

```
window.onload = function () {
buildLogo();
}

var buildLogo = function () {
    var logo = Raphael("title",800,236);

    var logoStar = logo.path("M12.245 131.057L16.039 138.743L24.521 139.974L18.383 145.958L19.832 154.406L12.245 150.418L4.658 154.406L6.108 145.958L-0.03 139.974L8.452 138.743").attr({fill:"#fff",stroke:"none"});

    var starSpin = function () {
        logoStar.animate({rotation: "360"}, 5000, starSpin);
    }
    starSpin();
}

```

Answer: 
I'm not entirely sure, but I *think* that `starSpin` is not yet defined when you try to use it in the anonymous function.

Try changing:

```
var starSpin = function () {
    logoStar.animate({rotation: "360"}, 5000, starSpin);
}
starSpin();

```

to

```
function starSpin() {
    logoStar.animate({rotation: "360"}, 5000, starSpin);
}
starSpin();

```

**EDIT**  

It turns out that that's not it at all -- I do not know what the problem *is* (hopefully someone who has more exposure to the Raphael library can help out there) but a kludgey-but-works solution is to clear the element in question before calling *the entire construct function in the callback* (I warned you it was kludgey).

**SEE:** <http://jsfiddle.net/rbf5x/1/>
I am not very sure but what if you do this:

```
while(true){starSpin();}

```

It sounds like the method is only executed once, so it "spins" once...