我有一个投资组合页面,您可以选择一个项目,它将显示更多详细信息。
我有一个小提琴: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
}
任何帮助都会得到满足。
答案 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');
});