日期:2014-05-16  浏览次数:20752 次

一个伸缩菜单,点击A栏目展开,只能点击B栏目A才伸缩隐藏,如何再次点击A就可以隐藏A
前端CSS


   <ul id="menu_left">
     <li><a href="#">Sub menu_left heading</a>
     <ul>
       <li><a href="http://site.com/">Link</a></li>
       <li><a href="http://site.com/">Link</a></li>
       <li><a href="http://site.com/">Link</a></li>
       ...
       ...
     </ul>
     <li><a href="#">Sub menu_left heading</a>
     <ul>
       <li><a href="http://site.com/">Link</a></li>
       <li><a href="http://site.com/">Link</a></li>
       <li><a href="http://site.com/">Link</a></li>
       ...
       ...
     </ul>
     ...
     ...
   </ul>

/*******************************menu.js****************************/

function initmenu_left() {
  $('#menu_left ul').hide();
  $('#menu_left ul:first').hide();
  $('#menu_left li a').click(
    function() {
      var checkElement = $(this).next();
      if((checkElement.is('ul')) && (checkElement.is(':visible'))) {
        return false;
        }
      if((checkElement.is('ul')) && (!checkElement.is(':visible'))) {
        $('#menu_left ul:visible').slideUp('normal');
        checkElement.slideDown('normal');
        return false;
        }
      }
    );
  }
$(document).ready(function() {initmenu_left();});

还有一个JS没放上来,我估摸着就在上面这个改,谢谢各位了!


------解决方案--------------------
可以如下实现toggle方法的使用
function initmenu_left() 
{
$('#menu_left ul').hide();
$('#menu_left ul:first').hide();
$('#menu_left li a').click(function() 
{
$(this).parent().find('ul').toggle(200);
      });
   }