0

クリックイベントがあり、その中にクリックされたものに応じてさまざまなdivをロードしたいと思います。

var open = $('.open');
open.click(function(evt) {
    evt.preventDefault();
    overlay.fadeIn(400, function(){
        box.fadeIn(500);
        // if something load box2
        // if something load box3
    });

http://jsfiddle.net/bLDXS/

Openは、box、box2、box3に関連するリンクに与えられるクラスです。box2のコンテンツをロードするにはどうすればよいですか?それぞれに特定のクラスを使用する必要がありますか?

4

3 に答える 3

1

Openは、box、box2、box3に関連するリンクに与えられるクラスです。box2のコンテンツをロードするにはどうすればよいですか?それぞれに特定のクラスを使用する必要がありますか?

いいえ、ifステートメントを使用してコードを記述できます。

var open = $('.open');
open.click(function(evt) {
   evt.preventDefault();
    overlay.fadeIn(400, function(){
    box.fadeIn(500);
    if (cond1){ load box2 }
    else if (cond2) {load box3 }
});
于 2012-10-25T10:27:18.143 に答える
1

これを試して:

var open = $('.open');
open.click(function(evt) {
    evt.preventDefault();
    box= $(this).attr('rel');//get the rel of your clicked link.
    overlay.fadeIn(400, function(){
        $('#'+box).fadeIn(500);//fadein the div your link relates to if it is your div's id.

    });
于 2012-10-25T10:28:39.927 に答える
1

編集: フィドルを見た後、クリック可能な各<p>IDを指定し、対応するボックスをロードする必要があります。

HTML:

<p class="terms open" id="box1_clicker">I agree to the <a href="">terms and conditions.</a></p>

Js:

if($(this).attr("id")=="box1_clicker") {
    // do something
}

フィドルの例


各ボックスのIDを指定し、 jqueryのparent(): を使用して、クリック内でどのボックスのリンクがクリックされたかを確認できます。

if($(this).parent().attr("id") == "box1") {
    //some code
}
else if ($(this).parent().attr("id") == "box2") {
    //some code
}
// so on
于 2012-10-25T10:32:28.523 に答える