0

一連の div があります (グラフィックを表示します)。1 つのグラフィック div をクリックすると、div に何かが書き込まれます。

$("#graphic1").click(function(){  
   $("#text").html("Something important goes here.") 
}

しかし、グラフィック8が表示されているときにユーザーがグラフィック1をクリックすると、何か他のことをしたい

if (graphic8 was active before graphic1 was clicked){
   do this
} else {
   do that
}

さらに説明するには

  1. 多くのdivがあります。
  2. これらの div のいずれかが一度にアクティブになる場合があります。
  3. 新しい div を選択するとき、新しい div が選択される前にアクティブだった div を知りたいです。

回答に応じて9/14を編集

jsfiddle の簡単な例を次に示します: http://jsfiddle.net/MAYO/2DEnY/2/

説明が下に表示される新しいdivを選択するときに、divを1.トグル2.に切り替えてください。if/else 句の組み合わせを試してみましたが失敗しました。3. この少しの作業が完了したら (これを解決すれば次の問題も解決すると思います)、以前アクティブだった div に応じてテキストの説明を変更できるようにしたいと考えています。

4

2 に答える 2

1

あなたのhtml構造が次のように見えるとします

<div id="graphic1" class="graphic">
</div>
<div id="graphic2" class="graphic">
</div>
<div id="graphic3" class="graphic">
</div>
...

あなたのjsコードは次のようになります

$(".graphic").click(function(){  
   var $before = $(".graphic.active"); //previously active div, do what ever you want,
                                       //remember to check whether $before is null or equals to 
                                       //$(this)
   $before.removeClass("active");
   $(this).addClass("active");

   $("#text").html("Something important goes here.") 
});
于 2013-09-14T03:59:05.377 に答える