The following code operates a JQuery based horizontal animation system.
$(document).ready(function(){
maxWidth = 700;
minWidth = 65;
normWidth = 192;
var featspos = 0;
$('.featuredslider a').each(function(){
$(this).css('left', featspos+'px');
featspos += 192;
});
$(".featuredslider a").mouseenter(function(){
var featscur = $(this).index();
$('.featuredslider a').each(function(){
featspos = 0;
$(this).animate({left: featspos},800);
if($(this).index() == featscur){ featspos += 700 } else { featspos += 65; };
});
});
$(".featuredslider a").mouseleave(function(){
$(this).css('left', featspos+'px');
featspos += 192;
});
});
There seams to be an absolute positioning problem because as soon as the mouse enters any one of the pictures they all move to left:0px; Additionally the function to get them back again will not work either. They just sit there at 0px;
I have set up a reference FIDDLE so I hope this helps solve the problem.
http://jsfiddle.net/FzaxF/1/
I made a few changes: http://jsfiddle.net/mblase75/FzaxF/6/
You had an
.eachloop in themouseenterevent when it should have been inmouseleave. I also resetfeatsposto zero at the start of themouseleaveevent and added astop()to interrupt the animation if the user moused out before it was done animating.Finally, resetting the images was moved to a function to eliminate some redundant code.