jQuery точно делает:)
Есть встроенная функция .animate (): http://api.jquery.com/animate/
Пример кода (слегка измененный по сравнению с jQuery) приведен ниже, и я создал рабочий jsFiddle: http://jsfiddle.net/Damien_at_SF/HRBkN/
CSS:
img.block {
position:absolute;
left:50px;
top:50px;
margin:5px;
}
HTML:
<button id="left">left</button> <button id="right">right</button>
<img src="http://jsfiddle.net/img/logo.png" class="block" />
JS для абсолютного позиционирования img:
$("#right").click(function(){
$(".block").animate({"left": "+=50px"}, "slow");
});
$("#left").click(function(){
$(".block").animate({"left": "-=50px"}, "slow");
});
JS для относительного / статического положения img:
$("#right").click(function(){
$(".block").animate({"margin-left": "+=50px"}, "slow");
});
$("#left").click(function(){
$(".block").animate({"margin-left": "-=50px"}, "slow");
});
Надеюсь, это поможет:)