Исчезать два или более деления один за другим после нажатия кнопки

Я хочу исчезнуть в первом div и исчезнуть в следующем div.

Если я нажму на кнопку второго div, второй div должен исчезнуть, а третий div должен исчезнуть.

Я пытаюсь это JS:

    $(function () {
        var fragen_gesamt = $('.dmd-container-frage').length;
        $('.dmd-container-frage').hide();
        $('.dmd-container-frage:first-child').show();
        $('.btn').on('click', function () {
            $('.dmd-container-frage:first-child').fadeOut(500, function () {
                $(this).next('.dmd-container-frage').fadeIn(1000);
            });
        });
    });

Но это исчезает только ко второму div.

https://jsfiddle.net/neo3d0m2/

1 ответ

Решение

Вам нужно изменить селектор в функции щелчка. Теперь вы найдете первый блок и затем fadein next (который является вторым), вам нужно найти родителя нажатой кнопки и выполнить остальную часть логики в соответствии с этим элементом:

    $(function() {
      var fragen_gesamt = $('.dmd-container-frage').length;
      $('.dmd-container-frage').hide();
      $('.dmd-container-frage:first-child').show();
      $('.btn').on('click', function() {
        $(this).closest('.dmd-container-frage').fadeOut(500, function() {
          var $el = $(this).next('.dmd-container-frage');
          // Check if there is next element
          if ($el.length) {
            $(this).next('.dmd-container-frage').fadeIn(1000);
          } else {
            alert('done!')
          }

        });
      });

    });

Проверьте эту скрипку - скрипка

Другие вопросы по тегам