2017-12-22 4 views
0

私が働いているのコンテクストはここにある:以下を達成するために http://jsfiddle.net/888egs94/1/jQueryのクラス変更

私は(のように思える)

$('.two').click(function() { 
     if($('.two')){ 
     $('.two').addClass("one"); 
     $('.two').removeClass("two") } 
} 

の百のバージョンを使用してきた。しかし私はを知っています簡単な方法が必要です。今日のjQueryは全く新しいものです。クライアントのためのコンベアベルトのようなものを生成しようとしています。 .two上

  1. ユーザーがクリック:

    • .two、.oneクラスを追加します.twoクラス
    • .threeを削除し、.twoクラスを追加します.oneが追加されます
    • .threeクラスを削除します

      012:.threeクラスは、.oneクラスに.three上
  2. ユーザーのクリックを削除します

    • .threeは.twoクラスを追加し、.threeクラス
    • .twoが.oneクラスを追加、削除、.twoクラス
    • .oneは.threeクラスを追加、削除、.oneクラスを削除し
    • .twoが追加されます。一つのクラスは、.twoクラスを削除し
  3. ユーザーが.oneをクリック:

    • モーダルが開きます。

それが理にかなっているかどうかは、本質的に、カルーセルが、継承したクラスです。どんな助けでも大歓迎です。私はアニメーションがダウンしている、それはちょうどクラスを正しいと一貫している(そうするために、彼らは重複していないか、彼らがそうしないときに動いていない)。

+0

'if($( '。2つの ')){'意味がない、それは常にtrueになります。 – Barmar

+0

少し前にjQueryでサイクリングに関する質問をしたポスターと同じですか?質問は今削除されているようだ。 – Barmar

+0

このコードを実行する関数は実行されません。また、jQueryもロードされません。 – Barmar

答えて

2

多くがここで起こっている。すでに指摘したとおり、あなたのif文が真か偽をチェックされていない

  1. 、それは単にいくつかの要素を選択します。
  2. あなたのCSSが設定されている方法、要素が新しい場所に移動した場合でも、あなたは気付かないでしょう。中央のブロック.twoは常に黄色で、常に中央にあります。だから私が他のブロックに.twoのクラスを与えると、それはただちにその場所にあるようにそれ自身を更新するでしょう。別のクラスを使用して色を割り当てることでこれを修正できます。
  3. 最後に、クラスが.oneであるかどうかを確認するためのelseステートメントがありません。これはブロックを回転させる代わりにモーダルを示すことを示します。

私はこれがあなたが探しているものだと信じています。うまくいけば、あなたはこの例から学ぶことができます。 http://jsfiddle.net/xph5dgto/1/

+0

ここにjsfiddleではなくStack Snippetとしてコードを投稿してください。 – Barmar

関連する問題