Сначала кажется, что вы прикрепляете свое событие только к одному из изображений, а не к обоим. Приведенный ниже код будет перебирать все изображения и прикреплять к ним событие.
let img = document.querySelectorAll('.card img');
for (var i = 0; i < img.length; i++)
{
img[i].addEventListener('mouseover', hover);
img[i].addEventListener('mouseout', leave);
}
Во-вторых, событие, которое вы прикрепляете к изображениям, не смотрит на то, какое изображение отображается, оно просто меняет изображения для них обоих. Следующий код будет смотреть на изображение, на которое вы наводите курсор, и только его изменять.
function hover(e) { e.target.src = e.target.getAttribute("data-hover-img"); }
function leave(e) { e.target.src = e.target.getAttribute("data-leave-img"); }
И, наконец, для каждого изображения, для которого нужно включать и выключать разные изображения, необходимо хранить эту информацию в каком-либо месте, связанном с изображением. Я решил использовать атрибуты данных, как показано выше. Поэтому HTML-код для ваших изображений должен выглядеть следующим образом.
<img class="my-img" id="my-img1" src="./images/AMH010301_G-1-dresslink.jpg" data-hover-img=""./images/AMH010301_G-5-dresslink.jpg"" data-leave-img="./images/AMH010301_G-1-dresslink.jpg" alt="Denim Jeans">
<img class="my-img" id="my-img2" src="./images/AMH010327_W-1-dresslink.jpg" data-hover-img="./images/AMH010327_W-5-dresslink.jpg" data-leave-img="./images/AMH010327_W-1-dresslink.jpg" alt="Denim Jeans">