var navArrowSlider = function(navWrap, navElementsArray, activeID, arrowY, leftOffset) { var youAreHere = new Fx.Tween($(navWrap), { duration: 1200, transition: Fx.Transitions.Elastic.easeOut //adjust transition effect here }); $$(navElementsArray).each(function(item){ item.addEvent('mouseenter', function() { var thisPos = item.getPosition(navWrap).x + (item.getSize().x / 2) - leftOffset; youAreHere.cancel(); youAreHere.start('background-position', thisPos + 'px ' + arrowY + 'px'); //var parent = item.getChildren('a'); //alert(parent); }); }); var currentArrow = function() { youAreHere.cancel(); var activePos = $(activeID).getPosition(navWrap).x + ($(activeID).getSize().x / 2) - leftOffset; youAreHere.start('background-position', activePos + 'px ' + arrowY + 'px'); }; //correct IE rendering problem (without this, it wont go to the active nav onload) //var activePos = $(activeID).getPosition(navWrap).x + ($(activeID).getSize().x / 2) - leftOffset; //$(navWrap).setStyle('background-position', activePos + 'px ' + arrowY + 'px'); //works to set image to starting position in other browsers currentArrow(); //$(navWrap).addEvent('mouseleave', currentArrow); };