2014-10-11 44 views
0

我有垂直menu.when我每個菜單上單擊它應該加載內容,並應顯示.. 這裏我有我的代碼如何加載onclik菜單上的內容?

<ul id="menu"> 
     <li class="selected"><a href="javascript:void(0)" id="menu_home" onClick="highlightTab('home')">Home</a></li> 
     <li><a href="javascript:void(0)" id="menu_about" onClick="highlightTab('about')">About</a></li> 
     <li><a href="javascript:void(0)" id="menu_technologies" onClick="highlightTab('technologies')">Technologies</a></li> 
     <li><a href="javascript:void(0)" id="menu_services" onClick="highlightTab('services')">Services</a></li> 
     <li><a href="javascript:void(0)" id="menu_contact" onClick="highlightTab('contact')">Contact Us</a></li>  
    </ul> 

<div id="menu1"> 
<div class="display" id="menu_home" > 
<h3>home page</h3> 
</div> 
<div class="display" id="menu_about"> 
<h3>details about the page</h3> 
</div> 
</div> 

所以,如果我在家裏的div菜單上單擊它應該表現出家page..first功能是爲了突出所選菜單 ,在這裏我的jQuery

function highlightTab(link_id){ 
     $("a[id^='menu_']").parent().removeClass('selected'); 
     $("#menu_"+link_id).parent().addClass('selected'); 
      } 

$(document).ready(function() 
{ 
    $('#selected').on('click','a',function() 
    { 
     $('.display:visible').fadeOut(); 
      $('.display[id='+$(this).attr('id')+']').fadeIn(); 
    }); 
}); 

這是我的CSS代碼

ul#menu li.selected{ 
     background-color:black;  
     color:white; 
    } 

.display 
{ 
    left: 734px; 
    position: relative; 
} 

請幫我該怎麼辦it..thanks

+0

[這](http://jqueryui.com/tabs/)你可能會感興趣 – Banana 2014-10-11 12:10:22

+0

而且ID必須是唯一的。 – Wouter0100 2014-10-11 12:12:18

+0

iam只給出唯一的ID .. – user2653831 2014-10-11 12:17:01

回答

1

有一些事情你的代碼錯誤:

  • 您已經2相同的ID(即A和DIV),更新了數據 - 目標。
  • 您正在搜索「#selected」而不是「.selected」,並將其更新爲#menu。
  • JSFiddle highlightTab函數未找到。爲什麼不混合這兩個像here

HTML:

<ul id="menu"> 
    <li class="selected"><a href="javascript:void(0)" data-target="menu_home" onClick="highlightTab('home')">Home</a> 
    </li> 
    <li><a href="javascript:void(0)" data-target="menu_about" onClick="highlightTab('about')">About</a> 
    </li> 
    <li><a href="javascript:void(0)" data-target="menu_technologies" onClick="highlightTab('technologies')">Technologies</a> 
    </li> 
    <li><a href="javascript:void(0)" data-target="menu_services" onClick="highlightTab('services')">Services</a> 
    </li> 
    <li><a href="javascript:void(0)" data-target="menu_contact" onClick="highlightTab('contact')">Contact Us</a> 
    </li> 
</ul> 
<div id="menu1"> 
    <div class="display" id="menu_home"> 

<h3>home page</h3> 

    </div> 
    <div class="display" id="menu_about"> 

<h3>details about the page</h3> 

    </div> 
</div> 

JS:

function highlightTab(link_id) { 
    $("a[id^='menu_']").parent().removeClass('selected'); 
    $("#menu_" + link_id).parent().addClass('selected'); 
} 

$(document).ready(function() { 
    $('#menu').on('click', 'a', function() { 
     $('.display:visible').fadeOut(); 
     $('.display[id="' + $(this).data('target') + '"]').fadeIn(); 
    }); 
}); 

CSS:

ul#menu li.selected { 
    background-color:black; 
    color:white; 
} 
.display { 
    display: none; 
} 
+0

謝謝..但我想強調菜單也..plz告訴我該怎麼辦.. – user2653831 2014-10-11 12:25:14

+0

檢查更新的[JSFiddle](http://jsfiddle.net/tfnvr7bL/1/ )在這裏如我的清單最後一點所示:-)。 – Wouter0100 2014-10-11 12:25:46