let poster = document.querySelector('poster__item')
poster.addEventListener('mousemove', ()=> {
код который отрабатывает при наведении
})
poster.addEventListener('mouseleave', ()=> {
код для противположного действиия "отведении" курсора
}
let elements = document.querySelectorAll('class-of-element')
for (let i = 0; i < elements.lenght; i++) {
elements[i].addEventListener('click', ()=> {
DO SOMETHING.....
})
}
Думаю, можно добвить в стили элемента свойство transition: all .5s ease, параметр времени подобрать эксперементально. В общем, вопрос решается с помощью css