2011-12-28 9 views
0

私はいくつかのグラフィックスを作成し、それらを0.5不透明度で初期化しようとしています。そして、覆い隠しまたはクリックすると不透明度が1に変わります。(記事選択要素の一部ですページの - タブのようなタブのようなもの) 私は少し上にホバーを行うことができますが、クリックされた部分を処理するためのコードを追加すると、マウスが要素から離れるときにホバーイベントによって乗り越えられると思います。 「選択済み」と言うためにクリックされた要素にクラスを追加すると、class = "selected"でない場合にのみホバー要素を適用できます。jqueryは特定のクラスではない要素のみを適用する

私のスクラピーコードはここにあります!

$(document).ready(function() { 

     $('.pic').stop().animate({ opacity: 0.5 }, 250); 

     $('.pic').each(function() { 
      $(this).hover(function() { 
       $(this).stop().animate({ opacity: 1.0 }, 250); 
      }, 
      function() { 
       $(this).stop().animate({ opacity: 0.5 }, 250); 
      }); 

      $(this).click(function() { 
       alert('Clicked'); 
       $('.pic').stop().animate({ opacity: 0.5 }, 250); 
       $(this).stop().animate({ opacity: 1.0 }, 250); 
      }); 

     }); 
    }); 

これを行うには、よりクリーンな方法がありますか?

私はCSSを試して、CSSクラスを変更するためにJqueryを使用しましたが、これを元に戻すことができませんでした。

は...あなた

答えて

1

チェック問題hasClass()の要素の場合に感謝し、そうでない場合は何かを

例:

if(!$(this).hasClass('selected')){ 
    // do stuff 
} 
+0

ありがとう - シンプル - 感謝 – Ray

+0

@Rayを、問題ない。 – Gabe

関連する問題