我更正了你的代碼中的一些東西。這裏是下面的工作代碼,並在jsfiddle中鏈接到它。
存在數據類型不匹配(比較字符串和整數)。當匹配它是否存在於樓層陣列中時,代碼僅檢查樓層[i],而我可以是樓層中的任何位置。
var floors = [];
$(".nr").click(function() {
var state = $(this).data('state');
state = !state;
if (state) {
$(this).css("background-color", "#1b7664");
$(this).css("border-color", "#236959");
floors.push(parseInt($(this).text()));
console.log(floors);
for(var i = 0; i <= 6; i++) {
ret = $.inArray(i, floors);
if(ret==-1) {
$("#lvl" + i).slideUp();
}
else {
$("#lvl" + i).slideDown();
}
}
} else {
$(this).css("background-color", "#02c099");
$(this).css("border-color", "#13a480");
for (var i = 0; i < floors.length; i++) {
if (floors[i] == parseInt($(this).text()))
floors.splice(i, 1);
}
for(var i = 0; i <= 6; i++) {
ret = $.inArray(i, floors);
if(ret==-1) {
$("#lvl" + i).slideUp();
}
else {
$("#lvl" + i).slideDown();
}
}
}
$(this).data('state', state);
});
演示這裏:http://jsfiddle.net/bFe9T/
u能解釋更準確寺是U想達到什麼目的? –
我有7個數字(7跨度)和7個divs。如果我點擊一個數字,我想要顯示屬於數字x的div(如果不是),並摺疊所有未選中的其他div。 – Xmsss
如此完全相反的笏現在是?? –