jQuery选择了切换

时间:2012-09-07 23:08:42

标签: jquery html

我有一个投资组合页面,您可以选择一个项目,它将显示更多详细信息。

我有一个小提琴:http://jsfiddle.net/TxKqx/

我想要做的是,如果用户已选择要查看的项目,如果他们为另一个选择另一个项目以取消选择并淡出细节。

我有以下代码打开并选择项目:

$('.widget-item-expand').click(function() {
        $(this).parent().toggleClass("selected");
        var currentId = $(this).parent().attr('id');
        var currentIdfull = "#"+currentId+"-full";
        $('#port-full-item').css("height","320px");
        $('#port-full-item').slideDown('slow');
        $(currentIdfull).css("height","320px");
        $(currentIdfull).fadeToggle('slow');
});
​

我尝试过这种方法来解决它,但它不起作用:(不是这个确切的代码)

if ($('#elm').is('.selected')) {
//#elm has the class
} else {
//#elm doesn't have the class
}

任何帮助都会得到满足。

1 个答案:

答案 0 :(得分:2)

我希望我能理解你想要的东西。

请参阅http://jsfiddle.net/TxKqx/2/

$('.widget-item-expand').click(function() {
    $(this).parent().siblings('.selected').removeClass('selected');
    $(this).parent().toggleClass("selected");
    $('#port-full-item')
        .addClass('selected')
        .css("height","320px")
        .slideDown('slow');
    var currentId = $(this).parent().attr('id'),
        $prevFull=$(".widget-full.selected");
    if(currentId+'-full'!==$prevFull.attr('id')){
        $prevFull
            .hide()
            .removeClass('selected');
    }
    $("#"+currentId+"-full")
        .addClass('selected')
        .css("height","320px")
        .fadeToggle('slow');
});