Javascript-форум (https://javascript.ru/forum/)
-   jQuery (https://javascript.ru/forum/jquery/)
-   -   Скрипт скрыть/открыть div (https://javascript.ru/forum/jquery/75306-skript-skryt-otkryt-div.html)

JIeuTo 19.09.2018 22:39

Скрипт скрыть/открыть div
 
Здравствуйте, есть небольшой скрипт на jquery, он открывает и закрывает блок
$('.open-submenu').click(function() {
  $(this).find('.submenu').slideToggle();
  $(".open-submenu").not($(this)).find('.submenu').slideUp();
});

Подскажите, где поправить код, так что бы я могу править свой div open, при открытии дива и элемент возвращался к своему исходному состоянию при закрытии дива, то есть есть у меня слева сайд бар и есть меню с крестом справа для наглядности что надо нажать, что бы открыть, но мне надо что бы он менялся при открытии этой ссылки, надеюсь меня поняли, спасибо

JIeuTo 19.09.2018 23:02

разобрался, теперь вот так выглядит скрипт
$('.open-submenu').click(function() {
  $(this).find('.submenu').slideToggle();
  $(this).find('.open').css({
  	backgroundColor:'transparent',
  	border: '1px solid #9e39a1',
  	color: '#9e39a1'
  });
  $(this).find('.open').text('-');
  $(".open-submenu").not($(this)).find('.submenu').slideUp();
});

Но у меня меняется див только в одну сторону, когда закрываю пункт меню, то обратно мой див (крест) в первичное состояние не приходит, подскажите

рони 19.09.2018 23:17

JIeuTo,
:-?

JIeuTo 19.09.2018 23:18

рони,
задам вопрос, не подскажите ли вы, как сделать так что бы мои стили при повторном клике, возвращались к первичному состоянию

рони 19.09.2018 23:39

JIeuTo,
возможно так ...
$('.open-submenu').click(function() {
  $(this).find('.submenu').slideToggle();
  $(this).find('.open').toggleClass('change-open');
  $(".open-submenu").not($(this)).find('.submenu').slideUp();
  $(".open-submenu").not($(this)).find('.open').removeClass('change-open');
});

JIeuTo 19.09.2018 23:59

рони,
вот смотрите, я так сделал, но есть недочет (ваш код проверял, тоже самое было), все работает когда нажимаю на один и тот же блок, но когда один блок открыт, нажимаю на второй, то стили не возвращаются обратно
$('.open-submenu').click(function() {
  $(this).find('.submenu').slideToggle();
  $(this).find('.open').toggleClass('change-open');
  $(".open-submenu").not($(this)).find('.submenu').slideUp();
});

рони 20.09.2018 00:04

JIeuTo,
скопируйте снова

JIeuTo 20.09.2018 00:04

рони,
спасибо за помощь, разобрался
$('.open-submenu').click(function() {
  $(this).find('.submenu').slideToggle();
  $(this).find('.open').toggleClass('change-open');
  $(".open-submenu").not($(this)).find('.submenu').slideUp();
  $(".open-submenu").not($(this)).find('.open').removeClass('change-open');
});


Часовой пояс GMT +3, время: 04:20.