Делаем навигационную панель переключателем скрытия / показа - PullRequest
0 голосов
/ 09 ноября 2018

Возникли проблемы с javascript и css @media. Я уже делаю значок гамбургера и делаю его отзывчивым. Но когда я нажимаю на иконку, панель навигации не видна? Об этой проблеме я действительно буду благодарен любой помощи!

HTML

<div class="gnav clearfix" id="myTopnav">
                <h1><a href="index.html"><img src="images/index/logo.gif" width="236" height="75" alt="株式会社ジェイウィル J-WILL CORPORATION"></a></h1>

                <ul class="ul_menu" class="clearfix" >
                    <li><a href="index.html"><img src="images/common/gnav01.gif" width="111" height="38" alt="HOME"></a></li>
                    <li>
                        <a href="company/index.html"><img src="images/common/gnav02.gif" width="100" height="38" alt="企業情報"></a>
                        <ul class="sub_list sub01">
                            <li><a href="company/index.html">代表ご挨拶</a></li>
                            <li><a href="company/index.html#sc02">行動指針</a></li>
                            <li><a href="company/index.html#sc03">企業概要</a></li>
                        </ul>
                    </li>
                </ul>
                <span class="nav-toggle"><a href="javascript:void(0);" class="icon" onclick="myFunction()"><i class="fa fa-bars" style="color: white; font-size: 30px;"></i></a></span>
            </div>

CSS

@media only screen and (max-width: 591px) {
    .nav-toggle {
        display: block;
    }

}



@media only screen and (max-width: 590px) {
    .gnav {
        float: left;
        width: 100% !important;
        background-color: #1e2d68;
    }

    .gnav.responsive {position: relative;}
    .gnav.responsive .icon {
        position: absolute;
        right: 0;
        top: 0;
  }
    .gnav.responsive li {
        float: none;
        display: block;
        text-align: left;
  }

    .sub_list {
        position: static;
    } 
}

@media screen and (min-width: 799px) {
    .ul_menu {
        display: block !important;
    }
}

JS

<script>
        function myFunction() {
            var x = document.getElementById("myTopnav");
            if (x.className === "gnav") {
                x.className += " responsive";
            } else {
                x.className = "gnav";
            }
        }
</script>

Неправильная часть - моя связь с переключателем JS, я думаю. Но я не мог сделать это правильно. Есть ли у вас какие-либо советы для решения этой проблемы? Если вам нужно какое-либо обновление или трудно понять, скажите мне, я объясню более подробно.

...