poorking,
В функции left никогда не возращаеться в исходное положение поэтому картинка как гусеница убежит в право ...
Исправленный вариант без jQuery ...
<img id = "myimg" src = "http://javascript.ru/forum/images/ca_serenity/misc/logo.gif"/>
<script type = "text/javascript">
var a = document.getElementById("myimg"),
b = !0,
c = 300;
a.style.position = "absolute";
a.style.height = "100px";
(function () {
a.style.width = (b ? c-- : c++) + "px";
if (c == 0 || c == 300) b = !b;
a.style.left = (b && 300 - c || 0) + "px";
window.setTimeout(arguments.callee, 10)
})();
</script>