If you want the effect run when the mouse is over or leaving the element, you don't need the animation but the transition. The animation runs automatically and the transition when the user interacts with the element.
So you can put the transform
in the :hover
and the transition
in the regular element rule.
Add this to the #roller li
rule:
-webkit-transition: all 2s;
transition: all 2s;
And this to the #roller:hover li
:
-webkit-transform: rotate(360deg);
transform: rotate(360deg);
See it in action here: http://jsfiddle.net/XVjUj/1/
Anyway, I've deleted the id's of the li
elements: you don't need them, every id must be unique and never put the # before the id in the HTML attribute. I've cleaned up a bit the CSS too.