Может кому интересно будет, вот полный, работающий код:
$(function(){
$.fn.dynamicNav = function(options){
options = $.extend({
speed: 500,
reset: 1000,
queue: false,
}, options);
var nav = $(this);
var firstItem = $('.firstItem', nav);
var reset;
$('<li class="hover"></li>').css({
width: firstItem.outerWidth(),
height: firstItem.outerHeight(),
left: firstItem.position().left,
top: firstItem.position().top,
}).appendTo(this);
var hover = $('.hover', nav);
$('li:not(.hover)', nav).hover(function(){
clearTimeout(reset);
hover.animate({
width: $(this).outerWidth(),
left: $(this).position().left,
},{
duration: options.speed,
queue: options.queue,
});
}, function(){
reset = setTimeout(function(){
hover.animate({
width: firstItem.outerWidth(),
left: firstItem.position().left,
}, options.speed)
}, options.reset);
});
}
$('.mainNav').dynamicNav();
});