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 的 >content,我是否必须为它们中的每一个使用特定的类?

不,您可以简单地使用 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'sparent()在 click 内部检查单击了哪个框的链接:

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 回答