Правильно ли? Скрытое меню

Рейтинг: 1Ответов: 1Опубликовано: 15.04.2015

Здравствуйте.

Идея была такой: Нужно было сделать скрытое меню или область с дополнительным контентом. Это обычный блок position:absolute; margin-left:-300px; Чтобы при нажатии на какой-то элемент, эта область становилась видимой (выдвигалось)

Решил дело так

$(".h-m-b").click(function(){

 if($(this).hasClass('active')) {

    $(this).removeClass('active');

    $(".hidden-menu").addClass('active');

 } else {

   $(this).addClass('active');

   $(".hidden-menu").removeClass('active'); 

 }
});

По сути это добавление класса active у которого свойство margin-left:-18px; к скрытому блоку.

Вопрос: Правильное ли это решение и будет ли работать в браузерах отличным от Хрома?

Ответы

▲ 1Принят

Jq кроссбраузерная библиотека, даже IE8 поддерживает (версии 1.х.х). Поэтому проблем не должно быть. Заместо remove/addClass можно использовать toggleClass - делает то же самое, что и ваш код: удаляет класс, если есть/добавляет если нет

$(".h-m-b").click(function(){
  $(this).toggleClass('active');
  $(".hidden-menu").toggleClass('active');
}