Hi, i'm having some issues with my jquery application. I'm making an accordion navigation menu (I know there are plenty out there to use, but this is for learning purposes). When the user hovers over a div it expands and the others contract, and this works fine. However the issue I'm running into is that if I move the mouse over other elements within the div while the animation is running it stops for a split second and the continues, causing it to look choppy. Any idea what causes this?
Here is my jquery code:
- $(document).ready(function() {
$("#divAccordianContainer").mouseout(function() {
$("#AccordianPanel1").stop().animate({ width: 198 }, 350);
$("#AccordianPanel2").stop().animate({ width: 198 }, 350);
$("#AccordianPanel3").stop().animate({ width: 198 }, 350);
$("#AccordianPanel4").stop().animate({ width: 198 }, 350);
$("#AccordianPanel5").stop().animate({ width: 198 }, 350);
});
$("#AccordianPanel1").mouseover(function() {
$("#AccordianPanel1").stop().animate({ width: 794 }, 500);
$("#AccordianPanel2").stop().animate({ width: 49 }, 500);
$("#AccordianPanel3").stop().animate({ width: 49 }, 500);
$("#AccordianPanel4").stop().animate({ width: 49 }, 500);
$("#AccordianPanel5").stop().animate({ width: 49 }, 500);
});
$("#AccordianPanel2").mouseover(function() {
$("#AccordianPanel1").stop().animate({ width: 49 }, 500);
$("#AccordianPanel2").stop().animate({ width: 794 }, 500);
$("#AccordianPanel3").stop().animate({ width: 49 }, 500);
$("#AccordianPanel4").stop().animate({ width: 49 }, 500);
$("#AccordianPanel5").stop().animate({ width: 49 }, 500);
});
$("#AccordianPanel3").mouseover(function() {
$("#AccordianPanel1").stop().animate({ width: 49 }, 500);
$("#AccordianPanel2").stop().animate({ width: 49 }, 500);
$("#AccordianPanel3").stop().animate({ width: 794 }, 500);
$("#AccordianPanel4").stop().animate({ width: 49 }, 500);
$("#AccordianPanel5").stop().animate({ width: 49 }, 500);
});
$("#AccordianPanel4").mouseover(function() {
$("#AccordianPanel1").stop().animate({ width: 49 }, 500);
$("#AccordianPanel2").stop().animate({ width: 49 }, 500);
$("#AccordianPanel3").stop().animate({ width: 49 }, 500);
$("#AccordianPanel4").stop().animate({ width: 794 }, 500);
$("#AccordianPanel5").stop().animate({ width: 49 }, 500);
});
$("#AccordianPanel5").mouseover(function() {
$("#AccordianPanel1").stop().animate({ width: 49 }, 500);
$("#AccordianPanel2").stop().animate({ width: 49 }, 500);
$("#AccordianPanel3").stop().animate({ width: 49 }, 500);
$("#AccordianPanel4").stop().animate({ width: 49 }, 500);
$("#AccordianPanel5").stop().animate({ width: 794 }, 500);
});
});
Thanks.