I
I
it_pear_yurec2018-02-25 19:55:18
JavaScript
it_pear_yurec, 2018-02-25 19:55:18

How to make the accordion break back when clicked again?

When you click on another accordion, everything closes and the pressed one opens, but how to make it close when you click again?

5a92ea711a12f175682529.jpeg

<div class="harmonic-block-cell">
                
                <div class="harmonic-block-cell-title">
                  <p class="harmonic-block-cell__text-title">
                    Токены обеспечены реальной недвижимостью
                  </p>
                  <div class="harmonic-block-cell-title__open gradient">
                    <i class="fa fa-angle-down" aria-hidden="true"></i>
                  </div>
                </div>

                <div class="harmonic-block-cell-description">
                  <p class="harmonic-block-cell-description__text">
                    Токены, получаемые, в процессе ITO платформы (пользовательские utility токены) впоследствии могут быть обменены на товарные токены конкретных проектов недвижимости, обеспеченные землей и объектами
                  </p>
                </div>
              </div>
              <div class="harmonic-block-cell">
                
                <div class="harmonic-block-cell-title">
                  <p class="harmonic-block-cell__text-title">
                    Прогнозируемое изменение цены
                  </p>
                  <div class="harmonic-block-cell-title__open gradient">
                    <i class="fa fa-angle-down" aria-hidden="true"></i>
                  </div>
                </div>

                <div class="harmonic-block-cell-description">
                  <p class="harmonic-block-cell-description__text">
                    Прогнозируемое с высокой вероятностью изменение цены токена в зависимости от стадии реализации конкретного проекта — чем ближе к завершению, сдаче и началу эксплуатации, тем дороже товарные токены этого проекта
                  </p>
                </div>
              </div>


<!--/// крипт гармошек ///-->
  <script>
    $(document).ready(function(){

      $('.harmonic-block-cell-title__open').click(function(){

        $('.harmonic-block-cell-title__open').removeClass('transform-180');
        $(this).closest('.harmonic-block-cell').find('.harmonic-block-cell-title__open').toggleClass('transform-180');

        $('.harmonic-block-cell-description').hide(500);

        $(this).closest('.harmonic-block-cell').find('.harmonic-block-cell-description').slideToggle(500);		
      });

    });
  </script>

Answer the question

In order to leave comments, you need to log in

2 answer(s)
0
0xD34F, 2018-02-25
@it_pear_yurec

$('.harmonic-block-cell-title__open').click(function(){
  $('.harmonic-block-cell-title__open')
    .not(this)
    .removeClass('transform-180')
    .closest('.harmonic-block-cell')
    .find('.harmonic-block-cell-description')
    .hide(500);

  $(this)
    .toggleClass('transform-180')
    .closest('.harmonic-block-cell')
    .find('.harmonic-block-cell-description')
    .slideToggle(500);		
});

P
profesor08, 2018-02-25
@profesor08

You need to treat all elements as individual blocks. And not to dance from some.

$(".harmonic-block-cell").each(function() {
  let $button = $(this).find(".harmonic-block-cell-title__open");
  let $content = $(this).find(".harmonic-block-cell-description");
  
  $button.on("click", function() {
    $(this).toggleClass('transform-180');
    $(".harmonic-block-cell .harmonic-block-cell-description").slideUp(500);
    $content.slideToggle(500);
  }); 
});

Didn't find what you were looking for?

Ask your question

Ask a Question

731 491 924 answers to any question