javascript - 单击某些内容时如何摆脱背景

标签 javascript jquery html css media-queries

我是响应式设计的新手,想知道如何在单击 SPAN 时使背景颜色消失,我的代码如下:

HTML 代码

    <body>


    <span class="menu-trigger">MENU </span>


   <nav class = "nav-main">

            <ul>
                <li>
                  <a href = "#" class = "nav-item"> HOME</a>                              
                </li>
                <li>
                   <a href = "#" class = "nav-item">ABOUT US </a>
                </li>

                 <li>
                   <a href = "#" class = "nav-item">PORTFOLIO </a>
                </li>

                <li>
                   <a href = "#" class = "nav-item">SERVICES </a>
                </li>
                  <li>
                   <a href = "#" class = "nav-item">CONTACT US </a>
                </li>

          </ul>
    </nav>
</body>

CSS

@media screen and (max-width: 480px){

  .menu-trigger{
   display:block;   
      color:#305782;
      background-color: #d5dce4;
      padding:10px;
      text-align: right;
      font-size: 83%;
      cursor: pointer;
  } 

.nav-main {
     display:none;  
}

.nav-expanded{
   display:block;  
   background-color:none;

}
  .nav-main > ul > li{
      float:none;
      border-bottom: 2px solid #d5dce4;
      background-color:black;
  }

    .nav-main > ul > li:last-child{

      border-bottom: none;

  }

    .nav-main .logo{
  display:none;
}

    .nav-item:hover {

    background-color:forestgreen;

}
}

JQUERY

     <script type ="text/javascript">
        jQuery( document ).ready(function() {
   jQuery(".menu-trigger").click(function(){
        jQuery(".nav-main").slideToggle(400, function (){
          jQuery(this).toggleClass("nav-expanded").css('display', '');
        });

    });
});

    </script>

JS fiddle

https://jsfiddle.net/k4ytvyef/2/ 正如您在移动 View 中调整屏幕大小时会注意到的那样,HOME 选项的背景很长,我该如何摆脱它?

最佳答案

在您的 jQuery 代码下添加它应该可以解决问题。

window.onresize = function() {
  if (window.matchMedia('(max-width: 480px)').matches) {
    jQuery(".nav-main").css("background-color", "inherit");
  } else
    jQuery(".nav-main").css("background-color", "");
    jQuery(".nav-main").css("display", ""); // Display navbar back when you change width 
}

关于javascript - 单击某些内容时如何摆脱背景,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/37645528/

相关文章:

jquery - 使用jquery列出django相关的下拉值

javascript - 如何使用 Jquery 使元素出现和消失。

javascript - a[href* =""] 不适用于充满链接的页面

javascript - $(document).ready() 处理程序立即触发

c# - 如何使用 SignalR 在聊天应用程序中发送登录用户

javascript - jQuery 编辑带 id 的链接

html - 在 div 上填充在前面的 div 媒体查询上创建边距

html - CSS3伪类不是第一个和最后一个 child

javascript - Canvas 重复矩形

javascript - 计时器在 0.29 后停止