2013-08-22 4 views
0

http://maximebichon.net/test.htmlСкрыть/показать несколько div по классам

Адрес сайта. Моя проблема очень проста. Как вы можете видеть на странице, в нижней части меню говорится «fr/en». Очевидно, я хотел бы иметь какой-то французский/английский переключатель. Поскольку это веб-сайт с ручным вводом, я хотел бы добавить простой jquery, который, когда пользователь нажимает на fr или en, скрывает определенный класс и показывает другой.

Вот код, который я использовал до сих пор (нашел на StackOverflow):

$(document).click(function() { 
var toggleElements = $(".toggleMe"); 
$.each(toggleElements, function (key, value) { 
    if (value.hasClass('hidden')) { 
     value.removeClass('hidden'); 
     value.addClass('shown'); 
    } else { 
     if (value.hasClass('shown')) { 
      value.removeClass('shown'); 
      value.addClass('hidden'); 
     } 
    } 
}); 
}); 

Вот CSS (довольно простой)

.hidden{ 
display: none; 
} 
.shown{ 
display: block; 
} 

Не могли бы вы сказать мне, что случилось? И что я должен добавить в href или класс ссылки для переключения языка? Спасибо большое!

ответ

2

Почему бы просто не использовать метод JQuery .toggleClass() как:

$(document).click(function() { 
    var $toggleElements = $(".toggleMe"); 
    $toggleElements.toggleClass('hidden shown'); 
}); 

DEMO #1

+0

Можете уточнить? Я в порядке с css/html, но jquery не то, что я очень хорошо понимаю. Что следует добавить к атрибутам ссылки? Как я могу повлиять на конкретный div в соответствии с их классами? – mbh

+0

Посмотрите демоверсию, пожалуйста. Это может помочь вам понять это. В случае, если у вас есть еще один запрос, дайте мне знать. –

+0

спасибо за помощь, мы приближаемся! хорошо, он переключается, что приятно. Но каждая ссылка теперь делает коммутатор. (-> http://maximebichon.net/test.html) – mbh

0

Предполагая, что ваша логика верна, попробуйте использовать $ (значение) вместо 'значение'

$(document).click(function() { 
var toggleElements = $(".toggleMe"); 
$.each(toggleElements, function (key, value) { 
    if ($(value).hasClass('hidden')) { 
     $(value).removeClass('hidden'); 
     $(value).addClass('shown'); 
    } else { 
     if ($(value).hasClass('shown')) { 
      $(value).removeClass('shown'); 
      $(value).addClass('hidden'); 
     } 
    } 
}); 
}); 
+0

Те же вопросы, что и выше ... Где я должен помещать toggleMe в свой html? Как это может повлиять на конкретные классы? – mbh

0

это должно быть

var $toggleElements = $(".toggleMe"); 
$toggleElements.click(function() { 
    $toggleElements.toggleClass('hidden shown'); 
}); 
Смежные вопросы