2016-08-14 13 views
1

私は次のカードの下に1枚のカードでページを作りました。カード間の切り替えCSS + jQuery

<div id="card" class="card"></div> 
<div id="card2" class="card"></div> 
<div id="card3" class="card"></div> 
<div id="card4" class="card"></div> 

// css: 
.active{z-index:999} 


// JS: 
$('a').on('click tap', function(e){ 
e.preventDefault(); 
$('.card').removeClass('active'); 
$($(this).attr('href')).addClass('active'); 
}); 

ボタンをクリックするとjQueryのは、まず、すべての.cardクラスから「アクティブ」削除した後、要素を選択し.active追加:私は、アクティブカードにクラスを追加することで問題、顔をしています。問題は、すべてのdivからクラスを削除することです。 私はカードを切り替える間にアニメーションを持っています。 これは、例えば、私はカード3にいて、カード4を最初にクリックしました。カード1が表示されます(これはアクティブではないためトップに表示されています)。その後、クリックされたカードが表示されます。 誰かがその問題を解決するのを助けることができますか?

編集:ここではjsfiddle:https://jsfiddle.net/2z2v7wz6/

+0

[Jsfiddle](http://jsfiddle.net/)またはスニペットを作成する方が良いでしょう –

答えて

1

前の層のz-indexを変更してみてください。

JS:

$('a').on('click tap', function(e){ 
    e.preventDefault(); 
    $('.card').css('z-index', '0'); 
    $('.card.active').css('z-index', '3'); 
    $('.card').removeClass('active'); 
    $($(this).attr('href')).addClass('active'); 
}); 

CSS:

.active{ 
    z-index:4 !important; 
    animation:foo 2s ease 1; 
} 

Working Fiddle

+0

ありがとうmuuuuch :) –

+0

幸せ、それはあなたを助けます。 – Harish

0

はこれを試してみてください:

$(".card").click(function() { 
    $(this).toggleClass("active"); 
}); 
+0

これはうまくいきません –

+0

jsfiddleまたはplunkerファイル全体をコードで提供できますか?ありがとう! –

+0

確かに、jsfiddle:https://jsfiddle.net/2z2v7wz6/ –

関連する問題