jquery div动画在同一现场发行的3个div上

jquery div动画在同一现场发行的3个div上,jquery,Jquery,我不知道该如何表达我的问题,所以我会尽可能地解释 我的网站上只有主页,我正试图用jquery动态更改主要区域的内容,这就是我现在拥有的 $(document).ready(function(){ $('#link1').click(function(){ $("#div2").hide("slide", { direction: "right" }, 500); $("#div3").hide("slide", { direction: "left" },

我不知道该如何表达我的问题,所以我会尽可能地解释

我的网站上只有主页,我正试图用jquery动态更改主要区域的内容,这就是我现在拥有的

$(document).ready(function(){
    $('#link1').click(function(){
        $("#div2").hide("slide", { direction: "right" }, 500);
        $("#div3").hide("slide", { direction: "left" }, 500);
        $("#div1").delay(501).show("slide", {direction: "down" }, 500);
});

    $('#link2').click(function(){
        $("#div1").hide("slide", { direction: "right" }, 500);
        $("#div3").hide("slide", { direction: "left" }, 500);
        $("#div2").delay(501).show("slide", {direction: "down" }, 500);
});
    $('#link3').click(function(){
        $("#div2").hide("slide", { direction: "right" }, 500);
        $("#div1").hide("slide", { direction: "left" }, 500);
        $("#div3").delay(501).show("slide", {direction: "down" }, 500);
}); });
我的问题是,如果我单击一个链接来隐藏当前未显示的div,它会显示该div,然后将其隐藏


我该如何解决这个问题呢?

我不确定这是否是你要问的问题。
如果你能提供一个例子,那将是最好的

您只需检查div是否可见,并仅在其可见时运行滑动动画

例如:

$('#link1').click(function(){
    if ($('#div2').is(':visible')){
        $("#div2").hide("slide", { direction: "right" }, 500);
    }

    if ($('#div3').is(':visible')){
        $("#div3").hide("slide", { direction: "left" }, 500);
    }

    $("#div1").delay(501).show("slide", {direction: "down" }, 500);
});
另外,我建议您使用类而不是ID。写所有可能的组合没有多大意义。假设你有10个链接。。。这是许多不必要的代码