0

さまざまなモーダルdivのクリックイベントに関連する問題があります。

いくつかの情報を含むオーバーレイdivを表示するモーダルdiv'A'があります。このdivは、ボタンAをクリックして表示されます。したがって、オーバーラップしたdivの外側をクリックすると表示されたら、これを閉じます。

他の情報を含むオーバーレイdivを表示する別のdiv'B'があります。このdivは、ボタンBをクリックして表示されます。したがって、オーバーラップしたdivの外側をクリックすると表示されたら、これを閉じます。

どちらの場合も、それらを管理するために$(window).click()を使用します。

問題は、ボタン「A」をクリックすると対応するdivが表示され、ボタン「B」をクリックするとdiv「A」を閉じてdiv「B」が表示される必要があるということです。

複数のモーダルdivの複数のクリックイベントを処理するにはどうすればよいですか?

Thanks.y

4

2 に答える 2

1

これは凝視している可能性があります:

$('#buttonA").click(function(){
      $(#divA").show();
      $(#divB").hide();
})
于 2012-07-09T21:00:44.137 に答える
1

これがあなたの望むものかどうかはよくわかりませんが...

ボタンとdivがクラス「overlay」であり、Rolandoの例のようにIDを持っていると仮定します(「buttonA」、「divA」、「buttonB」、「divB」など)。

$(".overlay").filter(":button").click(function() {
    var callid = /button(.+)/.exec($(this).attr("id"))[1];

    $("div.overlay[id$=" + callid + "]").show();
    $("div.overlay:not([id$=" + callid + "])").hide();
})

例: http: //jsfiddle.net/KXeXj/

唯一の問題は、「divの外側をクリックして閉じる」部分です。を使ってみましたが、クリックしてもsが隠れてしまう$(":not(.overlay)").click(function() {$("div.overlay").hide()})のでうまくいかなかったようです。div

于 2012-07-10T15:01:46.763 に答える