2013-04-30 76 views
1

我有一個問題,弄清楚如何使用JavaScript在我的網站設計中定位某個項目。簡單的手風琴瞄準

我創建一個簡單的手風琴:

$(function($) { 
     var allPanels = $('.accordion > dd').hide(); 
     $('.accordion > dd:nth-child(2)').show(); 
     $('.accordion > dt > a').on('click', function() { 
      allPanels.slideUp('fast'); 
      $(this).parent().next().slideDown('fast'); 
     return false; 
     }); 
    }); 

我寧願做的,而不是告訴「的.next()」滑下來,我想定位標籤「之一,4標籤離開「,就像第n個孩子一樣,但是通過點擊標籤進行測量。這是我的HTML代碼,以澄清:

<dl class="accordion"> 
     <dt><a href="">Linked element 1</a></dt> 
     <dt><a href="">Linked element 2</a></dt> 
     <dt><a href="">Linked element 3</a></dt> 
     <dt><a href="">Linked element 4</a></dt> 
     <dd>Linked element 1 - dropdown content</dd> 
     <dd>Linked element 2 - dropdown content</dd> 
     <dd>Linked element 3 - dropdown content</dd> 
     <dd>Linked element 4 - dropdown content</dd> 
    </dl> 

回答

0

試試這個:

var allPanels = $('.accordion > dd').hide(); 
$('.accordion > dd:eq(1)').show(); 
$('.accordion > dt > a').on('click', function() { 
    allPanels.slideUp('fast'); 
    $('.accordion dd').eq($('.accordion dt a').index(this)).slideDown('fast'); 
    return false; 
}); 

jsFiddle example

+0

這完全可以作爲一個獨立的功能,但考慮到該列表,我用我的html是整個頁面中利用其他元素的錨標籤(即標題中的導航)「.eq($('a')。」部分不能正常工作的道歉,因爲沒有澄清其他內容頁面。 – user2337047 2013-04-30 19:06:34

+0

不成問題米,試試我的更新。 – j08691 2013-04-30 19:08:25

+1

優秀!我非常感謝你;我只有ActionScript的基礎語法知識,因此JS目前只有一點點不足。 – user2337047 2013-04-30 19:17:50