Потому что для div не заданы размеры. И получается, что анимация только начинается запускаться, но пропадает слой и перестаёт работать событие "наведение". И это всё циклится и получается то, что Вы отправили выше. Если задать диву размеры, то всё будет ок.