2012-12-27 61 views
0

我想呈現一個項目的水平列表,每個項目通過'id'連接到獨立的div。我想連接到該項目的div切換到Fade。默認是隱藏所有的div。然後當用戶點擊另一個項目時,先前打開的div將關閉。jQuery通過單擊列表項來切換獨立divs

這裏的HTML:

<div id="menu"> 
     <ul> 
      <li><a class="menuitem" href="#smPlates">Small Plates</a></li> 
      <li><a class="menuitem" href="#salads">Salads</a></li> 
      <li><a class="menuitem" href="#burgers">Burgers</a></li> 
      <li><a class="menuitem" href="#desserts">Desserts</a></li> 
     </ul> 

     <!-- Small Plates menu --> 
     <div class="menubox" id="smPlates"> 
      <p>Content of smPlates</p> 
     </div> 

     <!-- Salads menu --> 
     <div class="menubox" id="salads"> 
       <p>Content of salads</p> 
     </div> 

     <!-- Burgers menu --> 
     <div class="menubox" id="burgers"> 
       <p>Content of burgers</p> 
     </div> 

     <!-- Desserts menu --> 
     <div class="menubox" id="desserts"> 
       <p>Content of desserts</p> 
     </div> 
</div> 

我有以下的jQuery代碼有效toggleFades的div,但所有這些,我試圖用ATTR(「ID」),以獲得每個相應的div列表項目,但它沒有工作:

$(document).ready(function() { 
    $(".menubox").hide(); 

    $(".menuitem").click(function(event) { 
     event.preventDefault(); 
     var menubox = $(".menubox"); 
     $(".menubox").not(menubox).hide() 
     menubox.fadeToggle("slow","linear"); 
    }); 
}); 

我沒有很多精通jQuery和任何幫助或指導將不勝感激!

回答

1

工作液:http://jsfiddle.net/9Cxx2/

$(document).ready(function() { 
    $(".menubox").hide(); 

    $(".menuitem").click(function(event) { 
     event.preventDefault(); 

     $('.menubox').hide(); 

     $($(this).attr('href')).fadeToggle("slow","linear");; 

    }); 
});​ 
+0

完美,像一個魅力工作!非常感謝! :) – KevinPatrick

0
$(document).ready(function() { 

    // Hide all menuboxes initially 
    $(".menubox").hide(); 

    $(".menuitem").click(function(event) { 
     event.preventDefault(); 

     // Hide the menubox that is allready opened 
     $(".menubox").hide(); 

     // Get the new menubox from the href attribute of menuitem 
     var relatedDivID = $(this).attr('href'); 

     // Fade new menubox 
     $(relatedDivID).fadeToggle("slow","linear"); 
    }); 
}); 

工作fiddle

+0

缺少#for id選擇器。 –

+0

我不會錯過它。它來自'href'。 –

+0

opps我的壞...抱歉 –