菜单切换时灰显背景

时间:2012-06-13 16:44:01

标签: jquery css mobile navigation sass

所以我有一个显示菜单的链接。当该菜单可见(展开)时,我需要让背景变暗。所以这就是我想要的。

if($('.expanded').html){
  $('nav').css("height", ($(window).height()))
};

因此,当.expanded类打开和关闭时,它应该工作(当然不是)

这是我的切换:

$('.js .menu-button').click(function() {
  $(this).toggleClass('expanded');
  $('[role="navigation"]').slideToggle('fast', function() {});
}); 

这是SASS

nav
  padding: 0
  margin: 0
  +transparent(#000, .6)
  width: 100%

所以,当“扩展”被切换时,css中的透明黑色应覆盖整个视口

非常感谢任何帮助。

我也试过这样做:

$('.js .menu-button').click(function() {
  $(this).toggleClass('expanded');
  $('[role="navigation"]').slideToggle('fast', function() {});
  $('nav').css("height", ($(window).height()))
}); 

这会打开黑暗背景,但我无法将其关闭。

HTML:

<div class="menu-button"></div>
  <nav> 
  <ul role="navigation" id="nav">
    <li><a href="#">Home</a></li>
    <li><a href="#">My Stay</a></li>
    <li><a href="#">Hotel Info</a></li>
    <li><a href="#">Buzz</a></li>
    <li><a href="#">Local Info</a></li>
    <li><a href="#">Things to Do</a></li>
    <li><a href="#">Offers</a></li>
    <li><a href="#">Settings</a></li>
    <li><a href="#">Help</a></li>
  </ul>
</nav>

1 个答案:

答案 0 :(得分:1)

为什么不简单地在click()函数()中设置深色背景?

$('.js .menu-button').click(function() {
  $(this).toggleClass('expanded');
  //test for expanded class
  if ($(this).hasClass('expanded'))
  {
     //turn something dark

  }
  else
  {
     //remove dark
  }

  $('[role="navigation"]').slideToggle('fast', function() {});
  $('nav').css("height", ($(window).height()))
});