Я думаю, что каждый раз, когда # bd1 пересекает указатель мыши (который, вероятно, зависает над изображением), он вызывает mouseout, а затем вызывает mouseover, когда он проходит.
Чтобы проверить это, активируйте анимацию, указав в самый низ изображения, а затем сразу же уберите мышь с пути.
EDIT:
Хм ... для меня, если я проверяю, что баннер не пересекает указатель, это помогло, но, конечно, это не исправление.
Одним из решений, по-видимому, является использование метода hover () jQuery вместо определенных событий мыши:
$('#pi1').hover(
function (event){
$('#bd1').animate({"top": "4px"}, 500);
},
function (event){
$('#bd1').animate({"top": "236px"}, 500);
});
В любом случае работает в webkit. Не проверял IE.