Показать сообщение отдельно
  #8 (permalink)  
Старый 02.03.2021, 11:30
Аватар для рони
Профессор
Отправить личное сообщение для рони Посмотреть профиль Найти все сообщения от рони
 
Регистрация: 27.05.2010
Сообщений: 33,123

vladdvin,
внизу рабочий код, но это плохая практика ...
<!DOCTYPE html>
<html>
<head>
    <title>Untitled</title>
    <meta charset="utf-8">
    <link rel="stylesheet" href="https://stackpath.bootstrapcdn.com/font-awesome/4.7.0/css/font-awesome.min.css">
    <style type="text/css">
     * {
    list-style: none;
    text-decoration: none;
    margin: 0;
    padding: 0;
}
ul {
    background: #afafaf;
    display: inline-block;
    width: 420px;
    border-right: 1px solid #000;
}
ul li {
    padding: 6px 0;
    background: #fff;
    display: inline-flex;
    align-items: center;
    justify-content: space-between;
}
ul li:hover {
    background: lightgreen;
}
ul li a {
    color: #000;
}
ul li:hover a,
ul li:hover .fa {
    color: #fff;
}
ul li .fa {
    display: inline-block;
    width: 30px;
    height: 30px;
    display: inline-flex;
    align-items: center;
    justify-content: center;
}
.leftside {
    margin-left: 16px;
    display: inline-block;
    width: 30px;
    height: 30px;
    display: inline-flex;
}
.rightside {
    margin-right: 16px;
    visibility: hidden;
    width: 30px;
    height: 30px;
    display: inline-flex;
}
.centerplace {
    width: 328px;
    display: inline-flex;
    align-items: center;
    justify-content: space-between;
}
.nestedblock{
    display: inline-flex;
    align-items: center;
    justify-content: center;
    margin:0 auto;
}
    </style>
<script>
document.addEventListener("DOMContentLoaded", function() {
    alert("Файл вызван");
    let sidemenu = document.querySelector('#sidemenu');
    sidemenu.addEventListener("mouseover", handler);
    sidemenu.addEventListener("mouseleave", handler);
    function handler(event) {
        if ((event.target && event.target.closest(".fa") && sidemenu.classList.contains("active")) || event.type === "mouseleave") checkitem()
    }
    function checkitem() {
        let sidemenu = document.querySelector('#sidemenu');
        if (sidemenu.classList.contains("active")) {
            sidemenu.innerHTML = `<li>
        <div class="leftside">
        <i class="fa fa-home"></i>
        </div>
        <div class="centerplace">
        <a href="" class="nestedblock">Техника для кухни</a>
        </div>
        <div class="rightside">
        <i class="fa fa-home"></i>
        </div>
    </li>
    <li>
        <div class="leftside">
        <i class="fa fa-home"></i>
        </div>
        <div class="centerplace">
        <a href="" class="nestedblock">Бытовая техника для дома</a>
        </div>
        <div class="rightside">
        <i class="fa fa-home"></i>
        </div>
    </li>
    <li>
        <div class="leftside">
        <i class="fa fa-home"></i>
        </div>
        <div class="centerplace">
        <a href="" class="nestedblock">Ноутбуки и компьютеры</a>
        </div>
        <div class="rightside">
        <i class="fa fa-home"></i>
        </div>
    </li>
    <li>
        <div class="leftside">
        <i class="fa fa-home"></i>
        </div>
        <div class="centerplace">
        <a href="" class="nestedblock">Комплектующие</a>
        </div>
        <div class="rightside">
        <i class="fa fa-home"></i>
        </div>
    </li>
    </li>`;
            sidemenu.classList.remove("active");
        } else {
            sidemenu.innerHTML = `
                    <li>
        <div class="leftside">
        <i class="fa fa-home"></i>
        </div>
    </li>
    <li>
        <div class="leftside">
        <i class="fa fa-home"></i>
        </div>
    </li>
    <li>
        <div class="leftside">
        <i class="fa fa-home"></i>
        </div>
    </li>
    <li>
        <div class="leftside">
        <i class="fa fa-home"></i>
        </div>
    </li>
    </li>
    `;
            sidemenu.classList.add('active');
        }
    }
});
</script>
</head>
<body>
<ul id="sidemenu">
    <li>
        <div class="leftside">
            <i class="fa fa-home"></i>
        </div>
        <div class="centerplace">
            <a href="" class="nestedblock">Техника для кухни</a>
        </div>
        <div class="rightside">
            <i class="fa fa-home"></i>
        </div>
    </li>
    <li>
        <div class="leftside">
            <i class="fa fa-home"></i>
        </div>
        <div class="centerplace">
            <a href="" class="nestedblock">Бытовая техника для дома</a>
        </div>
        <div class="rightside">
            <i class="fa fa-home"></i>
        </div>
    </li>
    <li>
        <div class="leftside">
            <i class="fa fa-home"></i>
        </div>
        <div class="centerplace">
            <a href="" class="nestedblock">Ноутбуки и компьютеры</a>
        </div>
        <div class="rightside">
            <i class="fa fa-home"></i>
        </div>
    </li>
    <li>
        <div class="leftside">
            <i class="fa fa-home"></i>
        </div>
        <div class="centerplace">
            <a href="" class="nestedblock">Комплектующие</a>
        </div>
        <div class="rightside">
            <i class="fa fa-home"></i>
        </div>
    </li>
    </li>
</ul>
</body>
</html>
Ответить с цитированием