Jquery if(可见)/ else

时间:2013-05-11 18:07:29

标签: jquery if-statement visibility

这是我的情况:首先加载页面时我隐藏菜单“菜单(2a,3a,4a,5a,6a)”exept“menu1a”我隐藏“menu1b”。然后我想点击一个按钮,检查“menu1a”是否可见并运行条件,所以当我再次点击他时,if条件不应该发生因为按钮应该隐藏它。

这是Html:

        <div class="main">
            <div class="menu" id="menu1a"></div>
            <div class="menu" id="menu1b"></div>
            <div class="menu" id="menu2a"></div>
            <div class="menu" id="menu2b"></div>
            <div class="menu" id="menu3a"></div>
            <div class="menu" id="menu3b"></div>
            <div class="menu" id="menu4a"></div>
            <div class="menu" id="menu4b"></div>
            <div class="menu" id="menu5a"></div>
            <div class="menu" id="menu5b"></div>
            <div class="menu" id="menu6a"></div>
            <div class="menu" id="menu6b"></div>
        </div>

和剧本:

$(document).ready(function() {
          $('.container2').hide();
          $('.container3').hide();
          $('.container4').hide();
          $('.container5').hide();
          $('.container6').hide();
          $('#menu1b').hide();
          $('#menu2a').hide();
          $('#menu3a').hide();
          $('#menu4a').hide();
          $('#menu5a').hide();
          $('#menu6a').hide();
});
$('#menu2b').click(function(){
if($('#menu1a').is(':visible'))
    {
        $('.main').delay(50).animate({marginTop : "-=160px"},{duration: 1000});
        $('.footer').delay(220).animate({marginTop : "-=150px"},{duration: 1000});
        $('.container2').animate({marginTop : "-=90px"},{duration: 0}).delay(200).show(0).slideUp(0).slideDown(150);
    }
      $('#menu1a').show();$('#menu1b').hide();
      $('#menu2a').hide();$('#menu2b').show();
      $('#menu3a').hide();$('#menu3b').show();
      $('#menu4a').hide();$('#menu4b').show();
      $('#menu5a').hide();$('#menu5b').show();
      $('#menu6a').hide();$('#menu6b').show();
});

更新:if条件被忽略了...每次点击菜单都是“margin top”,好像#menu1a一直可见。

提前致谢:)

0 个答案:

没有答案