jquery显示/隐藏多个div切换

时间:2012-06-05 15:11:42

标签: jquery toggle show-hide

首先感谢您花时间帮助我。

对不起我的英文; - )

我给你一个指向我项目的链接,这将更容易理解我的问题

http://lix.in/-c20b94

正如您在右侧所看到的,您有社交小组。

我想用jquery为每个人打开一个面板(使用最后一个Feed)。在这里阅读了一些帖子后,我能够使它工作(我不是很擅长jquery)。但我还是有问题。

正如您可以注意到当您点击另一个按钮(Facebook,youtube ...)面板时关闭/打开等等。但按钮本身保持在活动位置。它没有恢复到正常位置。我认为这是由于切换问题

代码:

$(".link1").click(function(){
    $("#twittercontent, #youtubehome").hide();
    $("#pz_fbplugin").toggle("fast");
    $(this).toggleClass("active");
    return false;
    $(".link2, .link3").removeClass('active');
    $(".link1").addClass("active");
});

$(".link2").click(function(){
    $("#pz_fbplugin, #youtubehome").hide();
    $("#twittercontent").toggle("fast");
    $(this).toggleClass("active");
        return false;
    $(".link1, .link3").removeClass("active");
    $(".link2").addClass("active");
});

$(".link3").click(function(){
    $("#pz_fbplugin, #twittercontent").hide();
    $("#youtubehome").toggle("fast");
    $(this).toggleClass("active");
    return false;
    $(".link1, .link2").removeClass("active");
    $(".link3").addClass("active");
});

CSS:

a.facebook {width: 46px;position: fixed; right:0;  height: 130px; top: 175px; margin-right: 0; background: url("socialrudyfacebook.png")no-repeat; z-index:51}
a.facebook:hover{width: 129px}
a.active.facebook{width: 129px}

a.twitter{width: 46px; position: fixed; height: 130px;right: 0; top: 317px; margin-right: 0;z-index: 51;background: url("socialrudytwitter.png")no-repeat; a-index:51}
a.twitter:hover{ width: 129px}
a.active.twitter{ width: 129px}

a.youtube{width: 46px;position: fixed; height: 130px; right: 0; top: 457px ;z-index: 150; background: url("socialrudyyoutube")no-repeat; a-index:51}
a.youtube:hover{ width: 129px}
a.active.youtube{ width: 129px}

希望能帮助我帮助我。

3 个答案:

答案 0 :(得分:0)

当你return false时,其他代码都没有被删除。远程它并且它可以工作,或者只是为了使事情变得简单,请执行以下操作。

为每个链接添加相同的类。喜欢“tab”。

然后在每个.click上你只有电话。

$('.tab').removeClass("active");

当您单击选项卡时,您将确保其余选项返回到原始状态。

if ($(this).hasClass('active'))
    $(this).removeClass('active');

将该行添加到每个.click,它应该可以正常工作

答案 1 :(得分:0)

我认为您的问题是return false。如果你将其移除或向下移动,它应该工作。而不是返回,您也可以使用:

$(".link3").click(function(e){
    e.preventDefault();
    // your function and stuff
});

答案 2 :(得分:0)

return false移至功能结尾。这是必须的。