проблема в том, что ты ставишь задержку в 500мс.
в итоге когда мышка на элементе, то запускается счетчик, который в течение 500 мс делает свойство opacity = 1. если ты до этого времени мышку с элемента убираешь, то срабатывает opacity = 0, а счетчик еще не завершил свою работу. поэтому когда истекает 500 мс, присваивается opacity = 1
|