javascript - 更改菜单图像

标签 javascript jquery html css

单击菜单按钮后,我需要更改它的背景图像,但 CSS :active 属性对其不起作用,仅在单击它时,我需要它保持为图像,直到它们再次点击它。

HTML

<nav class="clearfix">
   <div class="menu">
      <ul style="list-style-type:none;">
         <li>
             <a href="home.html">Home</a>
          </li>
          <li>
             <a href="about.html">About</a>
          </li>
          <li>
             <a href="slide.html">Before/After</a>
          </li>
          <li>
             <a href="fac.html">Facilities</a>
          </li>
          <li>
             <a href="contact.html">Contact</a>
          </li>
          <li>
             <a href="staff.html">Staff</a>
          </li>
      </ul>
   </div>
   <div class="site-wrapper">
      <div class="header">
          <a><div class="menu-trigger" title="Menu"></div></a>
      </div>
   </div>
   <script src="testing.js" type="text/javascript">
   </script>
</nav>

CSS

.menu-trigger {
    background-image:url("http://download.seaicons.com/icons/custom-icon-design/flatastic-2/512/usb-icon.png");
    background-position:center;
    background-size:100% 100%;
    background-repeat: no-repeat;
    width:50px;
    height:50px;
    left: -150%;
    transform:rotate(-135deg);
    position:relative;
}

.menu-trigger:hover{
    cursor: pointer;
}

JS

$('a .menu-trigger').on('click', function() {
    $('.menu').toggleClass('open', 300, 'easeOutQuad');
});

最佳答案

使用 jquery- 在点击时更改按钮背景图片- 检查片段

$(document).ready(function() {

  $(".menu-trigger").click(function() {
        
     $(".menu-trigger").toggleClass("open")

  })

})
.menu-trigger {
    background-image:url("http://download.seaicons.com/icons/custom-icon-design/flatastic-2/512/usb-icon.png");
    background-position:center;
    background-size:100% 100%;
    background-repeat: no-repeat;
    width:50px;
    height:50px;
    left:0%;
    transform:rotate(-135deg);
    position:relative;
    cursor:pointer
}

.open{
  background-image:url("http://download.seaicons.com/icons/custom-icon-design/flatastic-2/512/help-desk-icon.png");
  
  }
<script src="https://ajax.googleapis.com/ajax/libs/jquery/1.11.1/jquery.min.js"></script>
<div class="site-wrapper">
      <div class="header">
          <a><div class="menu-trigger" title="Menu"></div></a>
      </div>
   </div>

关于javascript - 更改菜单图像,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/40595258/

相关文章:

javascript - 在 angularjs 文件函数之后执行 .js 文件

当选项卡未处于事件状态时,Javascript setInterval 无法正常工作

javascript - 将值从 'this' 传递到 Promise 的 'then' 函数的正确方法

javascript - 使用 anchor 而不是按钮时如何防止按钮混用?

javascript - JQuery 检索数据属性(如果存在),否则获取默认值

javascript - 如果焦点位于下一个 div 上,则取消 focusout 事件

javascript - HackReactor,编码窗口现在可以使用名为 "Admissions"的方法访问名为 "showApp"的对象。不带任何参数调用此方法?

javascript - 为什么 JQuery 中的 html() 函数在 IE 中不起作用

javascript - 如何使用 css 样式安全地加载电子邮件内容

jquery - 防止 firefox 在表单首次加载时突出显示 "invalid"(html5) 复选框