Задать вопрос
Ответы пользователя по тегу JavaScript
  • Скрыть блок при клике на другой блок?

    @cccr85
    Примерно так, не проверял
    <ul class="menu">
       <li>
           <a href="#" title="">Ссылка</a>
           <ul>
    		   <li>
    		        <a href="#" title="">Ссылка</a>
    		        <ul>
    				   <li><a href="#" title="">Ссылка</a></li>
    				   <li><a href="#" title="">Ссылка</a></li>
    				</ul>
    		   </li>
    		   <li>
    		        <a href="#" title="">Ссылка</a>
    		        <ul>
    				   <li><a href="#" title="">Ссылка</a></li>
    				   <li><a href="#" title="">Ссылка</a></li>
    				</ul>
    		    </li>
    		</ul>
       </li>
       <li>
          <a href="#" title="">Ссылка</a>
          <ul>
    		   <li>
    		        <a href="#" title="">Ссылка</a>
    		        <ul>
    				   <li><a href="#" title="">Ссылка</a></li>
    				   <li><a href="#" title="">Ссылка</a></li>
    				</ul>
    		   </li>
    		   <li>
    		        <a href="#" title="">Ссылка</a>
    		        <ul>
    				   <li><a href="#" title="">Ссылка</a></li>
    				   <li><a href="#" title="">Ссылка</a></li>
    				</ul>
    		    </li>
    		</ul>
        </li>
    </ul>

    $(function(){
    	$('.menu').find('a').on('click.menu', function(e){
    		e.preventDefault();
    		var $parent = $(this).parent();
    		if ($parent.hasClass('active')) {
    			$parent.removeClass('active');
    		} else {
    			$parent.parent().find('.active').removeClass('active');
    			$parent.addClass('active');
    		}
    	});
    });


    .menu ul { display: none; }
    .menu li.active > ul { display: block; }
    Ответ написан
    Комментировать