2010-03-13 11 views
5

Uygulamamdaki bir dizi ana kapsayıcı div'e bazı accordian stil genişletme/daraltma kolları eklemem gerekiyor. Bu jQuery gibi bir kütüphane için çok basit bir şey mi?Basit Basitleştirmek/Bölmeleri Daralt> JQuery?

Örnek:

<div class="handleDiv"> expand | collapse 
    <div>child element</div> 
    <div>child element</div> 
</div> 

<div class="handleDiv"> expand | collapse 
    <div>child element</div> 
    <div>child element</div> 
</div> 
+0

http://docs.jquery.com/UI/Accordion –

+0

taş koymak bu biçimlendirme mı bakın veya bunun üzerinde kontrol var mı? Örneğin. Çocuk elemanlarını bir konteyner div'a koyabilir misin? –

+0

@Nick: Tam kontrolüm var. –

cevap

1

böyle bir şey deneyin:

$('.handleDiv').click(function() { 
    $(this).children().toggle(); 
}); 

Yani genişletmek veya bunları tıkladığınızda "handleDiv" s içeriğini gizlemek edeceğiz. Bununla birlikte, bu "bağlantıyı genişlet" daraltılmış şeyler yapma ve tıklama işleyicisini onlara eklemeyi öneriyorum, böylece div'daki herhangi bir yerdeki bir tıklama onu değiştirmez.

bunları kapalı başlamak istiyorsanız, onları stil kapalı ya stili: cevabım başında

.handleDiv div { 
    display: none; 
} 

veya add ".hide()" jQuery pasajı sonuna .

+0

Sanırım CSS –

+0

Oops üzerinde .handleDiv div 'istiyorum, teşekkürler! Bunu özledim. – bhollis

4

Bunu yapmak için bir eklenti yazdım.

http://sylvain-hamel.github.io/simple-expand/

+0

Bu eklenti mükemmel ancak yeni başlayanlar, ' 'sayfanın altına koyulmalıdır (' etiketinden hemen önce). –

+1

Eklentinin yardımcı olmasına sevindim. Bu komut dosyasını istediğiniz yere koyabilirsiniz. Ancak aramanın jQuery 'DOM ready' geri çağrısına dayandığından emin olun:' '. JQuery ile ilgili hemen hemen her şey için durum böyle. – Sylvain

+0

Sylvain doğru, ancak bir noob olarak çeşitli yerlerde ve kafada benim için işe yaradığı tek zamandır. (örneğin, benim durumumda kısmi olarak raylara yerleştirmek işe yaramadı) – Ben