2014-01-23 55 views
0

我有這個jQuery切換,交換一個div與另一個顯示。現在,如果我點擊link1(顯示div.shows),然後關閉它,然後重新打開,除非單擊link2(div.depts),否則我不能再單擊它(或我的主頁按鈕)。我搞亂了我的CSS中的東西,或者我在我的jQuery中錯誤地設置了我的真/假狀態?切換顯示狀態怪異

這裏是jQuery的:

var displayShow = false; 
var displayDept = false; 
var containerHeight = 130; 
$(".showLinks").click(function() { 
    if (displayDept) { 
     toggleDisplay(".depts",0,0); 
     displayDept = false; 
     console.log("displayDept: " + displayDept); 
    } 
    if (displayShow) { 
     toggleDisplay(".shows",0,0); 
     displayShow = false; 
     console.log("displayShow: " + displayShow); 
    } else { 
     toggleDisplay(".shows",1,containerHeight); 
     displayShow = true; 
     console.log("displayShow: " + displayShow); 
    } 
}); 
$(".deptLinks").click(function() { 
    if (displayShow) { 
     toggleDisplay(".shows",0,0); 
     displayShow = false; 
     console.log("displayShow: " + displayShow); 
    } 
    if (displayDept) { 
     toggleDisplay(".depts",0,0); 
     displayDept = false; 
     console.log("displayDept: " + displayDept); 
    } else { 
     toggleDisplay(".depts",1,containerHeight); 
     displayDept = true; 
     console.log("displayDept: " + displayDept); 
    } 
}); 
function toggleDisplay(divClass,divOpacity,divHeight) { 
    $(divClass).animate({ 
     opacity: divOpacity, 
     height: divHeight 
    }); 
} 

而其餘的可以在這裏找到: http://jsfiddle.net/jawa9000/xn8WB/1/

+1

Lemme debug :-) Upvoting問題。 –

回答

0

看起來這可能是罪魁禍首:

<div class="homeLink"> 
<a href="#">Home</a> 
</div> 
    <div class="showLinks">Links1</div> 
    <div class="deptLinks">Links2</div> 

你是定位:

$(".showLinks") & & $(".deptLinks")

在你的Javascript我不碰巧看到任何div鏈接,或任何參考他們... homeLink被隔離。

0

我覺得我的問題是與元素。當一個div滑落到隱藏狀態時,該元素仍然顯示爲表格單元而不是display:none。

爲了解決這個問題,我只是說了以下鏈接到我的if/else語句:

$("div.link1/link2 ul").css("display","none/table-cell"); 

感謝您的參與!