2013-10-29 128 views
0

我試圖建立一個列表,當點擊一個dt時,相應的dd會出現,當他重新點擊那個dt時,dd就會滑動。點擊切換列表項目

第一個dd總是停留,除非用戶點擊它。

問題是,當用戶點擊一個dt時,所有的dd出現。

Fiddle demo here

回答

2

嘗試在點擊dt像下面使用.nextUntil

(function() { 
    var dd = $('dd'); 
    dd.filter(':lt(3)').addClass('show'); //add show to first 3 
    dd.filter(':nth-child(n+6)').addClass('hide'); //add hide to rest 

    $('dt').on('click', function() { 
     $(this).nextUntil('dt').toggleClass('show hide'); 
    }) 

})(); 

DEMO:http://fiddle.jshell.net/2MrxM/

+0

謝謝,但它不適用於第一個dt。 如果點擊,也必須滑動。 –

+0

@SiddharthPatel現在嘗試,你需要添加'show'到前3切換工作。 –

0

這應該做到這一點。也更新了你的fiddle

(function() { 
    var dd = $('dd'); 
    dd.filter(':nth-child(n+6)').addClass('hide'); 

    $('dt').on('click', function() { 
     $(this).nextUntil('dt').filter(':nth-child(n+4)').addClass('show'); 
    }) 

})();