0

您好,我想知道是否有一种方法可以点击此处的某些内容使用该变量后,我可以淡出所有其他框并淡入淡出。否则,我将不得不通过单击 id 来创建 6 个单独的函数,这将使其代码更多我基本上想要一种将它们合并为一个的方法。我很感激任何和所有的帮助已经研究了一段时间,但似乎无法弄清楚也许获得另一个视角会有所帮助

jQuery(function(){
    jQuery(".catalignleft").click(function() {


        function complete() {
          jQuery(".alignleft");
        }

        if(status == 1) {
            jQuery("#box1").fadeOut();
            jQuery("#box2").fadeOut();
            jQuery("#box3").fadeOut();
            jQuery("#box4").fadeOut();
            jQuery("#box5").fadeOut();
            jQuery("#box6").fadeOut();
            jQuery("#box1").fadeIn();
            status--;
        } else{
        jQuery("#box1").fadeIn(1600, "linear", complete);
status++;
}



    });

    jQuery("#btn2").click(function() {
    jQuery("#box1").fadeOut();

    jQuery("#log").empty();
    });
    jQuery(".blocked a").click(function(event) {
  event.preventDefault();
  jQuery('<div/>')
});


    jQuery("#btn2").click(function() {

    jQuery("#box2").fadeOut();
    jQuery("#log").empty();
    });
});
4

2 回答 2

1

使用类选择器而不是 ID 选择器,并$(this).fadeIn在其fadeOut回调中放入 a,如下所示:

$(".box").click(function() {
    $(".box").fadeOut("slow", function() {
        $(this).fadeIn();
    });
});

(假设你所有的盒子都有一个“盒子”类):

<div class="box"></div>

此外,没有理由使用jQuery(...). 您可以将其缩短$(...)并节省一些打字时间。

于 2012-04-16T02:07:27.053 回答
1

正如 Elliot 在他的回答中显示的那样,您可以使用this引用当前对象(在本例中为单击的对象)(即使您没有使用 jQuery)。

于 2012-04-16T02:17:33.987 回答