Ciao,
puoi risolvere in svariati modi. Ad esempio con un semplice setInterval che chiami la funzione stessa ad intervalli regolari oppure con un setTimeout all'interno della funzione o con altri svariati metodi.

Qui un esempio dove ho usato setTimeout:
codice:
<!DOCTYPE HTML>
<head>
  <style type="text/css">.box{width:100px;height:100px;background:#009;position:relative}</style>
  <script type="text/javascript" src="http://code.jquery.com/jquery-latest.js"></script>
  <script type="text/javascript" src="http://gsgd.co.uk/sandbox/jquery/easing/jquery.easing.1.3.js"></script>
  <script type="text/javascript">
  $(document).ready(function(){			
    var posizioneIniziale = $('.box').css('left');
    (function loop(){
      $('.box').css('left',posizioneIniziale).stop().animate({left:'380px'},2000,'easeInOutQuad',function(){setTimeout(loop,5000)});     
    })();
  });
  </script>
</head>
<body>
  <div class="box"></div>
</body>
</html>