2013-04-23 116 views
0

我在寫,因爲我有一個動態類分配給列表的問題。 這是因爲你可能不能很好地運行子項目。 我的代碼是:動態分配一個類到列表

<nav id="menu"> 
    <div class="container"> 
     <div class="fourteen columns" style="width: 765px"> 

     <ul> 
      <li class="current"> 
       <a href="#storia" >ABOUT US</a> 
            <ul> 
             <li><a href="#storia">STORIA</a></li> 
             <li ><a href="#team" >TEAM</a></li> 
            </ul> 
      </li> 
      <li> 
       <a href="#fianco">SERVICES</a> 
         <ul> 
          <li><a href="#fianco" >COMPETENZA</a></li> 
          <li><a href="#referenze">REFERENZE</a></li> 

         </ul> 
      </li> 
    </ul> 

和JavaScript:

//build dropdown 
$("<select />").appendTo("#menu"); 

// Create default option "Go to..." 
$("<option />", { 
    "selected": "selected", 
    "value" : "", 
    "text" : "Go to..." 
}).appendTo("nav select"); 

// Populate dropdowns with the first menu items 
$("#menu li a").each(function() { 
    var el = $(this); 
    $("<option />", { 
     "value" : el.attr("href"), 
     "text" : el.text() 
    }).appendTo("nav select"); 
}); 

//make responsive dropdown menu actually work   
$("nav select").change(function() { 
    window.location = $(this).find("option:selected").val(); 
}); 

感謝大家幫幫我!

+0

代碼運行正常,請問是什麼問題? – epascarello 2013-04-23 12:32:52

+0

@epascarello對我來說,這是行不通的,如果我點擊「關於我們」在「服務」上指派類,並且如果我點擊後者屬性,則不會分配 – 2013-04-23 12:40:47

+0

問題是什麼?工作正常。 http://jsfiddle.net/6gfpv/ – 2013-04-23 13:04:15

回答

0

問題是,你只是改變窗口的位置,而不是實際點擊元素。這就是爲什麼沒有分配課程的原因。最後部分更改爲以下:

$("nav select").change(function() { 
    var link = $(this).val(); 
    if(link != "") //don't do anything for "Go To" 
     $('#menu li a[href=' + link + ']')[0].click(); //simulate click 
}); 

編輯: 檢查出完整的jsfiddle:http://jsfiddle.net/6gfpv/1/