RainMEN
@RainMEN
HTML/STYLUS/JADE/JS/Laravel/Joomla/DLE и т.д.

JavaScipt переключатель, или как отследить показ/скрытие блока?

Приветствую!



Совсем недавно занимаюсь версткой так что помидорами тухлыми не кидать =)



В общем суть такая:



Есть HTML/CSS блок который при нажатии на «кнопку (тег: a )», форма должна выезжать(заезжать обратно) с правой стороны, и кнопка должна вместе с ней ездить.



Рассматривал несколько вариантов:



-использовать атрибут "cheked"(менять атрибут)

-использовать CSS свойство display(добавлять и удалять CSS)



Но все эти варианты как мне кажется «голимый костыль», поправьте меня если я не прав =), может есть какое то другое решение?



И вообще как решаются такие задачи?



Если нет, то хотелось бы узнать есть ли какая-нибудь функция или метод JS или JQuery который возвращает значение display?



Состояние display:none



Состояние display:block
  • Вопрос задан
  • 5156 просмотров
Решения вопроса 1
@xserg
Да

stackoverflow.com/questions/1875403/jquery-how-to-get-the-style-display-attribute-none-block

Правильный ответ

$('#theid').css('display') == 'none'

или

$('.deal_details').is(':visible')
Ответ написан
Пригласить эксперта
Ответы на вопрос 5
int03e
@int03e
$('#whatever').css('display')

Вот так можно узнать значение. А вообще я всегда описывал в css класс hidden (в нем display:none) и потом удалял-добавлял его(hasClass, addClass, removeClass).
Ответ написан
syschel
@syschel
freelance/python/django/backend
А может быть вам подайдёт такое всётаки?
Функция сама отслеживает в каком состоянии объект и выполняет открытие(если закрыто) или закрытие(если открыто).
api.jquery.com/toggle/
api.jquery.com/slideToggle/
Там же можете через
toggle(«toggle», «show», «hide») поиграть с анимацией появления/скрытия.

Мой пример.
$('#add_gi span').click(function(){
    $("#add_gi #add_gi_list").toggle();
});


Сам когда-то на подобном, как вы рассуждал. Пока не узнал что есть готовая функция у jQuery
Ответ написан
@egorinsk
> который при нажатии на «кнопку (тег: a )»

Это конечно не совсем по теме вопроса, но для создания кнопок в HTML есть тег button, button по-английски значит «кнопка» (или тег span, если button не верстается нормально). Тег A предназначен для создания гиперссылок.

Я не знаю, откуда пошла эта нездоровая тенденция (подозреваю, что с запада, так же как и дурная тенденция писать [br /] со слешем, видимо люди думают, что HTML — это вид XML), но всюду вижу, как кнопки и псевдоссылки верстаются тегом A с костылями вроде javascript void. И на сайтах, и в с татьях на Хабре и в каком-нибудь smashing magazine. Уровень неграмотности поражает. Начинающие не хотят читать мануалы и стандарты, а хотят учиться по неграмотным статьям из блогов неграмотных верстальщиков. А опытные верстальщики делают так много лет и не хотят переучиваться.

Потому советую вам встать наперекор общественному мнению, учиться верстать правильно и никогда не писать a href=# и a href=javascirpt void. После этого вам не придется ломать голову тем, что значит «return false».
Ответ написан
BuriK666
@BuriK666
Компьютерный псих
Если есть jquery,
<a href="#" onclick="$('#yourblock').toggle(); return false">кнопка</a>

Он оперирует с display!

сверстать так, чтоб кнопка была привязана к позиции/наличии этого yourblock
Ответ написан
RainMEN
@RainMEN Автор вопроса
HTML/STYLUS/JADE/JS/Laravel/Joomla/DLE и т.д.
Вот оно что =)
Ответ написан
Комментировать
Ваш ответ на вопрос

Войдите, чтобы написать ответ

Похожие вопросы