2014-11-06 3 views
0

저는 javaScript가 새로 생겼으며 if 조건의 수식어와 약식을 이해하는 데 어려움을 겪고 있습니다. 나는 그들에 대해 읽었으며 이해할 수 있다고 생각했지만, 필자가 손쉽게 사용할 수있는 단순한 드롭 다운 메뉴가 필자가 긴 문장으로 작업 할 때 실패합니다.조건이 작동하지 않으면 자바 스크립트 길이가 적용됩니다.

HTML 코드 :

<ul class="nav-menu">  
<li onclick="dropDown(this)"> 
    <a href="#" >Birds</a> 
    <ul id="menu"> 
     <li><a href="">Ratites</a></li> 
     <li><a href="">Fowl</a></li> 
     <li><a href="">Neoaves</a></li> 
    </ul> 
</li> 
    <li onclick="dropDown(this)"> 
    <a href="#">Dogs</a> 
    <ul class="menu1"> 
     <li><a href="">Big</a></li> 
     <li><a href="">Red</a></li> 
     <li><a href="">Noizy</a></li> 
    </ul> 
</li> 

CSS 코드 :

a { 
    color: #06c; 
} 

ul { 
    padding: 0; 
    margin: 0; 
    background: pink; 
    float: left; 
} 

li { 
    float: left; 
    display: inline; 
    position: relative; 
    width: 150px; 
    list-style: none; 
} 

#menu { 
    position: absolute; 
    left: 0; 
    top: 100%; 
    background: #ccc; 
    display: none; 
} 

.menu1 { 
    position: absolute; 
    left: 0; 
    top: 100%; 
    background: #ccc; 
    display: none; 
} 

속기 자바 스크립트 버전 :

function dropDown(li) { 
    var submenu = li.getElementsByTagName('ul')[0]; 
    submenu.style.display = submenu.style.display == "block" ? "none" : "block";  
} 

자바 스크립트 긴 형식 버전 :

function dropDown(li) { 
    var submenu = li.getElementsByTagName('ul')[0]; 
    if(submenu.style.display == "block"){ 
     submenu.style.display="none"; 
    } 
    else{ 
     submenu.style.display="block"; 
    } 
} 

다시 약식이 작동합니다. 나는 성명서에서 무엇을 잘못하고 있습니까?

JSFiddle : http://jsfiddle.net/wkmd7h0r/24/

+4

마지막에 여분의'}'이있는 것 같습니다. http://jsfiddle.net/wkmd7h0r/25/ ** 간단한 타이핑 오류로 투표 마감 ** – xec

답변

2

콘솔을 열면 오류가 나타납니다 : Uncaught SyntaxError: Unexpected token }, 의미, 당신은 당신의 코드에서 추가 중괄호를 가지고 있습니다.

관련 문제