Необходимо, чтобы при клике на упаковку и после отведения курсора мыши с упаковки менялся цвет границ упаковки .И так же снова убирался

Написать скрипты желательно на чистом Js.Пример HTML и JS кода приложу. ссылку на анимацию готовую другого человека тоже приложу.(https://nikitanpl.github.io/test-task-funbox)

Я написал пару функций на js , но когда они отрабатывают , у меня при повторном клике на упаковку и отводе курсора с нее, скрипты не работают почему -то , пока я заново не обновлю страницу, что с этим можно сделать ?

HTML-код:

<!DOCTYPE html>
<html lang="en">
<head>
    <meta charset="UTF-8">
    <meta http-equiv="X-UA-Compatible" content="IE=edge">
    <meta name="viewport" content="width=device-width, initial-scale=1.0">
    <title>Funboxtets</title>
    <link rel="stylesheet" href="css/bootstrap-reboot.min.css">
    <link rel="stylesheet" href="css/fonts.css">
    <link rel="stylesheet" href="css/style.min.css">
</head>
<body>
    <div class="promo">
        <h1>Ты сегодня покормил кота ?</h1>
        <div class="promo__wrapper">
            <div class="promo__item" id="item">
                <div class="promo__item-title">
                    <div class="corner" id="corner"></div>
                    <div class="text" id="text">
                        <div class="text__block">Сказачное заморское явство</div>
                    </div>
                </div>
                <div class="promo__info" id="info">
                    <div class="promo__block">
                        <h2>Нямушка
                            <span>с фуа-гра</span>
                        </h2>
                        <div class="promo__descr">10 порций<br>мышь в подарок</div>
                    </div>
                    <div class="promo__image">
                        <img src="img/cat.png" alt="cat">
                    </div>
                    <div class="promo__weight" id="weight">
                        <span>0,5</span>
                        <span class="fs">кг</span>
                    </div>
                </div>
                <div class="promo__subtext" id="subtext">
                    Чего сидишь? Порадуй котэ, <span id="click">купи.</span>
                </div>
                <div class="promo__subdescr_hidden" id="subdescr">
                    Печень утки разварная с артишоками.
                </div>
            </div>
            <div class="promo__item"></div>
            <div class="promo__item"></div>
        </div>
    </div>
    
<script src="js/script.js"></script>
</body>
</html>

JS-код(я новичок еще):

let item = document.getElementById('item');
let el1 = document.getElementById('corner');
let el2 = document.getElementById('text');
let el3 = document.getElementById('info');
let el4 = document.getElementById('weight');
let el5 = document.getElementById('click');
let subtext = document.getElementById('subtext');
let subdescr = document.getElementById('subdescr');
item.addEventListener('mouseover', changeBordersHover);
item.addEventListener('mouseout', changeBordersHover);
item.addEventListener('click', changeBordersSelectedClick);

 


function changeBordersHover(){
    if(el1.className === 'corner' && el2.className === 'text' && el3.className === 'promo__info' && el4.className === 'promo__weight'){
        el1.classList.add('corner_hover');
        el2.classList.add('text_hover');
        el3.classList.add('promo__info_hover');
        el4.classList.add('promo__weight_hover');
        
    } else {
        el1.classList.remove('corner_hover');
        el2.classList.remove('text_hover');
        el3.classList.remove('promo__info_hover');
        el4.classList.remove('promo__weight_hover');
    }
}


function changeBordersSelectedClick(){
    item.addEventListener('mouseout', changeBordersSelected);
    function changeBordersSelected(){
        el1.classList.add('corner_selected');
        el2.classList.add('text_selected');
        el3.classList.add('promo__info_selected');
        el4.classList.add('promo__weight_selected');
        subtext.className = 'promo__subtext_hidden';   
        subdescr.className = 'promo__subdescr';
        
    };
    item.addEventListener('click', changeBordersSelectedRepeatClick);
    function changeBordersSelectedRepeatClick(){
        item.addEventListener('mouseout', changeBordersSelectedNone);
    }
    function changeBordersSelectedNone(){
        el1.classList.remove('corner_selected');
        el2.classList.remove('text_selected');
        el3.classList.remove('promo__info_selected');
        el4.classList.remove('promo__weight_selected');
        subtext.className = 'promo__subtext';   
        subdescr.className = 'promo__subdescr_hidden';

    };
    
    

}

el5.onclick = function clickChangeBorders(){
    el1.classList.add('corner_selected');
    el2.classList.add('text_selected');
    el3.classList.add('promo__info_selected');
    el4.classList.add('promo__weight_selected');
    subtext.className = 'promo__subtext_hidden';   
    subdescr.className = 'promo__subdescr';
}

Ответы (0 шт):