显示/隐藏div的selection/active类



因此,我需要根据单击的按钮在任何时候显示一个div。我发现了这个很棒的小提琴,它几乎是完美的,除了,因为它在选择一个链接时不会显示。我想拥有它,这样所选的链接就可以有一种活动类,或者看起来与其他链接不同。这可能吗?我一直在研究问题,但我真的找不到答案。

如果有人感兴趣,我会使用它(但代码真的很糟糕,对不起(。(我也想更改最上面一行的过滤器按钮,以重置和过滤所有图像,但我知道这是一个不同的问题。如果有任何帮助,我们将不胜感激!(

html

<div id="linkwrapper">
    <a id="link1" href="#">link1</a><br/>
    <a id="link2" href="#">link2</a><br/>
    <a id="link3" href="#">link3</a>
</div>
<div id="infocontent">
    <div id="link1content">Information about 1.</div>
    <div id="link2content">Information about 2.</div>
    <div id="link3content">Information about 3.</div>
</div>

jquery

$(document).ready(function(){
    $("#infocontent").hide();
    $("#infocontent div").hide();

    $('#linkwrapper a[id]').click(function(){
        var vsubmen = this.id +"content";  
        if( $("#infocontent").is(":visible") == false ) {
            $("#" + vsubmen).show('fast',function() {
                $("#infocontent").slideDown();
            });
        } else if ( $("#" + vsubmen).is(":visible") == false ) {
            $("#infocontent").slideUp('slow',function(){
                $("#infocontent div").hide();
                $("#" + vsubmen).show();
                $("#infocontent").slideDown('slow');    
            });
        } else {
            $("#infocontent").slideUp('slow',function(){
                $("#infocontent div").hide();
            });
        }
        return false;
    });
});

你可以这样简化小提琴:

$('a[id^=link]').click(function(){
    $('a[id^=link]').removeClass('meactive');
    $(this).addClass('meactive');
    $('#infocontent>div').slideUp();
    var tmp = this.id;
    $('#'+tmp+'content').slideDown();
}); //end a.click

jsFiddle演示


注:

(1( $('a[id^=link]')—获取ID以link 开头的所有a元素

(2( $('#' +tmp+ 'content')—构建选择器,如:$('#link3content(`

最新更新