2014-01-23 3 views
0

나는 또 다른 하나의 DIV의 표시를 스왑이 jQuery를 토글 있습니다. 이제 link2 (div.depts)를 클릭하지 않는 한 link1 (div.shows 표시)을 클릭 한 다음 그 위로 이동하고 다시 클릭하면 다시 (또는 내 홈 버튼)을 클릭 할 수 없습니다. CSS에서 무언가를 엉망으로 만들거나 jQuery에서 true/false 상태를 잘못 설정 했습니까? 여기 전환 표시 상태 이상한

는 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 
    }); 
} 

그리고 나머지는 여기에서 찾을 수 있습니다 : 당신은

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

: http://jsfiddle.net/jawa9000/xn8WB/1/

+1

맞쳐 디버그. –

답변

0

은 다음과 같습니다 는 범인이 될 수 있습니다 타겟팅 :

당신의 자바 스크립트에서는

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

나는 당신의 링크에 대한 어떠한 div, 또는 참조가 그들에게이 ... homeLink가 격리 볼 일이 없습니다.

0

내 문제는 요소가 있다고 생각합니다. div가 숨겨 지도록 슬라이드하면 요소는 여전히 display : none 대신 table-cell으로 표시됩니다. 재생하기 위해

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

감사 :

는이 문제를 해결하려면, 난 그냥 내/경우 다른 문 아래의 링크를 추가! Upvoting 질문 :-)