2016-04-26 19 views
0

最初のdivをフェードアウトして次のdivにフェードアウトしたいボタンをクリックした後に2つ以上のdivを1つずつ消す

私は2番目の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/

+0

は、クラス.dmd-container-frageの問題である可能性があります。なぜなら、常にfirst-childからnext()を呼び出すからです。 – daremachine

答えて

2

あなたは、機能をクリックしてセレクタを変更する必要があります。 - fiddle

このフィドル

$(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!') 
      } 

     }); 
     }); 

    }); 

チェックアウト:今、あなたが最初のブロックを見つけ、そして(第2である)次のフェードイン、何が必要なのは、この要素に応じてクリックしたボタンの親を見つけ、残りのロジックを行うことです

+0

Thats great。最後のdivがクリックされた場合に警告メッセージを表示する方法を教えてください。私の意図は - 最後のdivをクリックした後、ユーザーは別のページにリダイレクトする必要があります。 – cgee

+0

@cgeeええ、更新された回答とフィドルもチェックしてください。 – t1m0n

+0

ありがとう! :) – cgee

関連する問題