Как добавить стиль к элементу при клике?

Добрый день!
на один вопрос мне уже ответили (спасибо за это), но хотелось бы добавить к нему следующее:
необходимо изначально задать положение блоку "Открыть тут", например, top: 10px, а при клике на него задать для блока "Свернуть" стиль: top: 0px.
ссылка на предыдущее решение, которое нужно дополнить тут:
https://codepen.io/AndrewHaze/pen/LLbXPL
  • Вопрос задан
  • 5394 просмотра
Решения вопроса 1
@Result007
P|-|P
Можно добавить в стиль:
.click_box {
  position: relative;
  top: 10px;
}


А JS так:
$( ".click_box" ).on( "click", function() {
  $(".hidden_box, .text_box").toggleClass("hide");
  if ($(this).text() == "Открыть тут") { 
    $(this).text("Скрыть").css("top", 0);
  } else { 
    $(this).text("Открыть тут").css("top", "10px");
  }
});


P.S. Сделал немножко короче
Ответ написан
Пригласить эксперта
Ответы на вопрос 2
Stalker_RED
@Stalker_RED
Можно так: https://jsfiddle.net/8c80hhqv/
При клике переключается класс active у обертки а все скрытие/показывание и сдвигание кнопок вынесено в css.
Ответ написан
photozoom
@photozoom
$( ".click_box" ).on( "click", function() {
  $(".hidden_box").toggleClass("hide");
  $(".click_box").css("top", function(i,val){
	if($(this).css("top") == '10px')
	   return '100px';
	else
	   return '10px';
    });
  $(".text_box").toggleClass("hide");
  if ($(".click_box").text() == "Открыть тут")
    { $(".click_box").text("Скрыть") } 
  else 
    { $(".click_box").text("Открыть тут") }
});
Ответ написан
Ваш ответ на вопрос

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

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