Although it may seem like I'm a bit late in providing an answer to this question, I still wanted to share an alternative solution that has worked well for me. (Both of the previously provided answers will also do the trick).
I opted to use CSS Animation, which proved to be more effective for me than jQuery animate in certain scenarios.
Give the following code snippet a try -
// 'bcolor' is the name of the animation keyframe defined further below
#uiAdminPanelMenu li a:hover {
-webkit-animation-name: bcolor;
-webkit-animation-duration: 1s;
-webkit-animation-fill-mode: forwards;
-moz-animation-name: bcolor;
-moz-animation-duration: 1s;
-moz-animation-fill-mode: forwards;
animation-name: bcolor;
animation-duration: 1s;
animation-fill-mode: forwards;
}
@-webkit-keyframes shadeOn {
from {background-color: #F4F4F4;}
to {background-color: #D3E1FA;}
}
@-moz-keyframes shadeOn {
from {background-color: #F4F4F4;}
to {background-color: #D3E1FA;}
}
@keyframes shadeOn {
from {background-color: #F4F4F4;}
to {background-color: #D3E1FA;}
}