2013-02-27 67 views
2

我正在一家餐廳提供網站,並試圖找出如何我可以定位在其他選項卡中的選項卡內的定位標籤,例如,主標籤將是:菜單,信息,評論,但然後在菜單選項卡內,我想要一個列出食物類型的子菜單(開胃菜,主菜等...)理想情況下,我希望它們全都可以立即看到,如果您點擊了評論甜品,你會進入菜單標籤甜點錨。jQuery目標定位標籤內部無效標籤

<ul class='tabs'> 
<li><a href='#tab1'>Menu</a></li> 
    <ul class="submenu"> 
     <?php foreach ($contents as $header_id => $item_array): ?> 
     <li> 
      <a href="#<?php echo $item_array[0]["content"] ?>"><?php echo $item_array[0]["content"] ?></a> 
     </li> 
     <?php endforeach; ?> 
    </ul> 
<li><a href='#tab2'>Info</a></li> 
<li><a href='#tab3'>Reviews</a></li> 
</ul> 

回答

0

我怎麼能目標是從其他選項卡的標籤內錨標籤?

嘗試使用find()方法,其中「獲取每個元素的後代在當前匹配的元素,通過一個選擇器,jQuery對象,或元件過濾。

$('ul.tabs li ul.submenu').each(function() { 
    var anchors = $(this).find('a'); //these anchors are per sub menu. 
}); 
+0

所以,我怎麼會寫「如果被點擊子菜單項,打開菜單選項卡,去主播」任何想法? – user1209945 2013-02-27 17:11:01

0

要通過單擊鏈接從一個選項卡切換到另一個選項卡,您可能需要將自定義處理程序附加到這些鏈接。

例如:

HTML:

<li><a href="#" class="desertLink">Dessert</a></li> 

JS:

$(".desertLink").click(function(){ 
    $(".tabs").tabs("option", "active", 1); 
    $("html, body").animate({scrollTop:$('#dessert_id').position().top}, 'slow'); 
}); 

將從菜單選項卡中的信息選項卡切換的選項卡。

更多選項,看看該選項卡API在http://api.jqueryui.com/tabs/#option-active從這裏

+0

我可以在頂級選項卡之間導航,我想要弄清楚的是我如何從「Info」選項卡轉到Menu div中的定位標記。例如,從Info選項卡中,單擊「Desserts」,這將打開菜單選項卡並轉到Dessert定位標記。 – user1209945 2013-02-27 17:12:59

+0

一旦切換標籤,您就可以使用'scrollTop' ...我更新了我的答案以顯示示例。 – Steve 2013-02-27 17:26:53