Моя функция javascript не отображает ответ - PullRequest
0 голосов
/ 12 июля 2020

Не знаю почему, но мой код не работает. Я хочу создать отзывчивую панель навигации

HTML КОД

<!doctype html>
<html lang="en">
  <head>
    <!-- Required meta tags -->
    <meta charset="utf-8">
    <meta name="viewport" content="width=device-width, initial-scale=1, shrink-to-fit=no">

   <link rel="stylesheet" href="css/style.css" type="text/css" media="all" />
<link rel="stylesheet" href="https://cdnjs.cloudflare.com/ajax/libs/font-awesome/4.7.0/css/font-awesome.min.css">
    <title></title>
  </head>
  <body>
    
    <nav class="navbar" id="navbar">
<i class="fa fa-bars" aria-hidden="true" onclick="navigation()"></i>
<a href="#" class="logo">The Big Blog </a>
    <div id="navLis">
      

      <ul>


        <li><a href="#">Home</a></li>
        <li><a href="#">Get Started</a></li>
        <li><a href="#">Popular Bloggers</a></li>
        <li><a href="#">About Us</a></li>
        <li><a href="#">Contact U</a></li>
      </ul>
    </div>
    </nav>

    <script src="js/app.js" type="text/javascript" charset="utf-8"></script>
  </body>
</html>

CSS КОД

*{
  margin: 0;
  padding: 0;
  box-sizing: border-box;
}

li {
  list-style-type: none;
}

a {
  text-decoration: none;
}

#navLis {
  display: none;
}

nav ul{
  margin-top: 20px;
   color: white;
  background: black;
}

nav{
  height:100px;
  background: white;
  border-bottom: 2px solid black;
  position: relative;
  background: #8dc09b;
}

nav li  {
  display: inline-block;
 
  padding: 6px;
}

nav li a {
  color: white;
  display: inline-block;
}

nav i {
  display: none!important;
  font-size: 2em!important;
  position: absolute;
  top: 10px;
  right: 10px;
  transform: translate(-10px);
  
}

.logo{
  font-size: 25px;
  margin: 20px;
  padding: 10px!important;
}



@media (max-width:668px){
   
   nav {
     height: 60px;
   }
   
  
   
  nav li {
    text-align: center;
    display: block;
  }
  
  nav i {
    display: block!important;
  }
}

Javascript Код


function navigation() {
  const navLis = document.getElementById('navLis');
  
  if (navLis.style.display = 'none') {
    navLis.style.display = 'block';
  }else{
    navLis.style.display = 'none';
  }
  
}

Моя проблема в том, что у моего div с id navLis нет отображения и я написал в JavaScript, что когда он отображается, никто не отображает блок ? просто! Купить, когда я нажимаю на гамбургер, моя навигация () просто делает его видимым, но когда я снова нажимаю, чтобы скрыть свой список, он не работает

1 Ответ

1 голос
/ 12 июля 2020

Вы сделали там небольшой шрифт:

function navigation() {
  const navLis = document.getElementById('navLis');
  
  if (navLis.style.display === 'none') {
    navLis.style.display = 'block';
  }else{
    navLis.style.display = 'none';
  }

это должно работать.

Чтобы проверить, является ли navLis.style.display «none», вы использовали = вместо === присвоенное вами значение отсутствует

...