Проблема в том, что когда элемент перемещается, он повторно запускает событие MouseEnter в Firefox и IE, поэтому самый простой способ исправить это (IMHO, конечно) - просто вставить переменную, которая может быть сброшена, что предотвращает метод покачивания вызывается несколько раз.
$(function() {
var wiggled = false;
$('#tata').mouseover(function() {
if(!wiggled) {
$(this).wiggle({
speed: 60,
wiggles: 3,
travel: 5,
});
//output
var el = $('#output');
var n = + el.text();
el.text(++n);
wiggled = true;
}
}).mouseout(function(e) {
wiggled = false;
});
});
Обновление : я должен добавить, что я мог проверить это только в FF, IE и Chrome могут вести себя по-разному, но я не ожидаю, что они будут.