दिलचस्प पोस्ट
सरणी तत्वों की पुनर्क्रमित PHP सरणी सी स्तर पर कैसे लागू होती है? आईफ़ोन विकास: मुक्तिदाता को मुक्त किया जा रहा है आवंटित नहीं किया गया था एंड्रॉइड में ऑडियो फाइल कैसे खेलें अड़चन के साथ, मैं कैसे दबाव की एक श्रृंखला को "दबाव" से पहले एक में "संक्षिप्त" कर सकता हूँ? html5: कैनवास के अंदर वीडियो प्रदर्शित करें इनपुट के भीतर JQuery Datatables खोज और चयन करें Std :: vector या boost :: vector धागा सुरक्षित है? $ $ एक स्क्रिप्ट बनाम $ $ एक सबशेल्ड में EL में एक चार संपत्ति की तुलना कैसे करें टर्मिनल लॉन्च पर त्रुटि संदेश कैसे Godaki डोमेन के लिए हेरोको आवेदन DNS को कॉन्फ़िगर करें? सी इंट और लांग 32 – 64 बिट्स में मान की रेंज सरणी के सरणी पर array_unique का उपयोग कैसे करूं? जावा ईई क्या है?

jQuery के यूआई accordion कि कई वर्गों खुला रहता है?

मैं बेवकूफ हो सकता है, लेकिन आप jQuery के यूआई के एसीय्रेशन में एक से अधिक अनुभाग कैसे खोलते हैं? डेमो सभी एक समय में केवल एक खुले हैं … मैं एक पतनयोग्य मेनू प्रकार सिस्टम की तलाश कर रहा हूँ

Solutions Collecting From Web of "jQuery के यूआई accordion कि कई वर्गों खुला रहता है?"

यह मूल रूप से Accordion के लिए jQuery के यूआई दस्तावेजों में चर्चा की गई थी:

नोट: यदि आप एकाधिक अनुभागों को एक बार में खोलना चाहते हैं, तो एक एडेरियन का उपयोग न करें

एक एम्पोडियन एक से अधिक सामग्री पैनल को एक ही समय में खोलने की अनुमति नहीं देता है, और ऐसा करने के लिए बहुत प्रयास किए जाते हैं। यदि आप विजेट की तलाश कर रहे हैं जो एक से अधिक सामग्री पैनल को खोलने की अनुमति देता है, तो इसका उपयोग न करें। आमतौर पर इसे jQuery की कुछ पंक्तियों के साथ लिखा जा सकता है, ऐसा कुछ:

jQuery(document).ready(function(){ $('.accordion .head').click(function() { $(this).next().toggle(); return false; }).next().hide(); }); 

या एनिमेटेड:

 jQuery(document).ready(function(){ $('.accordion .head').click(function() { $(this).next().toggle('slow'); return false; }).next().hide(); }); 

"मैं बेवकूफ हो सकता है" – यदि आप दस्तावेज़ीकरण नहीं पढ़ते हैं, तो आप बेवकूफ नहीं हैं, लेकिन अगर आपको समस्याएं आ रही हैं, तो यह आमतौर पर एक समाधान खोजने में तेजी लाता है

बहुत साधारण:

 <script type="text/javascript"> (function($) { $(function() { $("#accordion > div").accordion({ header: "h3", collapsible: true }); }) })(jQuery); </script> <div id="accordion"> <div> <h3><a href="#">First</a></h3> <div>Lorem ipsum dolor sit amet. Lorem ipsum dolor sit amet. Lorem ipsum dolor sit amet.</div> </div> <div> <h3><a href="#">Second</a></h3> <div>Phasellus mattis tincidunt nibh.</div> </div> <div> <h3><a href="#">Third</a></h3> <div>Nam dui erat, auctor a, dignissim quis.</div> </div> </div> 

यह एक समान धागा में पोस्ट किया, लेकिन सोचा कि यह यहां भी प्रासंगिक हो सकता है।

JQuery-UI Accordion के एक उदाहरण के साथ इसे हासिल करना

जैसा कि अन्य लोगों ने उल्लेख किया है, Accordion विजेट में यह सीधे करने के लिए एक API विकल्प नहीं है। हालांकि, यदि किसी कारण से आपको विजेट का उपयोग करना होगा (जैसे आप मौजूदा सिस्टम को बनाए रखना चाहते हैं), तो विजेट के डिफ़ॉल्ट व्यवहार को हटाने और अनुकरण करने के लिए पहले beforeActivate ईवेंट हैंडलर विकल्प का उपयोग करके इसे हासिल करना संभव है।

उदाहरण के लिए:

 $('#accordion').accordion({ collapsible:true, beforeActivate: function(event, ui) { // The accordion believes a panel is being opened if (ui.newHeader[0]) { var currHeader = ui.newHeader; var currContent = currHeader.next('.ui-accordion-content'); // The accordion believes a panel is being closed } else { var currHeader = ui.oldHeader; var currContent = currHeader.next('.ui-accordion-content'); } // Since we've changed the default behavior, this detects the actual status var isPanelSelected = currHeader.attr('aria-selected') == 'true'; // Toggle the panel's header currHeader.toggleClass('ui-corner-all',isPanelSelected).toggleClass('accordion-header-active ui-state-active ui-corner-top',!isPanelSelected).attr('aria-selected',((!isPanelSelected).toString())); // Toggle the panel's icon currHeader.children('.ui-icon').toggleClass('ui-icon-triangle-1-e',isPanelSelected).toggleClass('ui-icon-triangle-1-s',!isPanelSelected); // Toggle the panel's content currContent.toggleClass('accordion-content-active',!isPanelSelected) if (isPanelSelected) { currContent.slideUp(); } else { currContent.slideDown(); } return false; // Cancels the default action } }); 

एक जेएसफ़िल्ड डेमो देखें

या भी आसान?

 <div class="accordion"> <h3><a href="#">First</a></h3> <div>Lorem ipsum dolor sit amet. Lorem ipsum dolor sit amet. Lorem ipsum dolor sit amet.</div> </div> <div class="accordion"> <h3><a href="#">Second</a></h3> <div>Phasellus mattis tincidunt nibh.</div> </div> <div class="accordion"> <h3><a href="#">Third</a></h3> <div>Nam dui erat, auctor a, dignissim quis.</div> </div> <script type="text/javascript"> $(".accordion").accordion({ collapsible: true, active: false }); </script> 

मैं एक jQuery प्लगइन किया है जो jQuery UI accordion के एक ही देखो है और सभी टैब \ अनुभागों खुला रख सकते हैं

आप इसे यहां देख सकते हैं

http://anasnakawa.wordpress.com/2011/01/25/jquery-ui-multi-open-accordion/

एक ही मार्कअप के साथ काम करता है

 <div id="multiOpenAccordion"> <h3><a href="#">tab 1</a></h3> <div>Lorem ipsum dolor sit amet</div> <h3><a href="#">tab 2</a></h3> <div>Lorem ipsum dolor sit amet</div> </div> 

जावास्क्रिप्ट कोड

 $(function(){ $('#multiOpenAccordion').multiAccordion(); // you can use a number or an array with active option to specify which tabs to be opened by default: $('#multiOpenAccordion').multiAccordion({ active: 1 }); // OR $('#multiOpenAccordion').multiAccordion({ active: [1, 2, 3] }); $('#multiOpenAccordion').multiAccordion({ active: false }); // no opened tabs }); 

अद्यतन: प्लगइन को डिफ़ॉल्ट सक्रिय टैब विकल्प का समर्थन करने के लिए अद्यतन किया गया है

मुझे एक मुश्किल समाधान मिला दो बार एक ही फ़ंक्शन को कॉल करें, लेकिन अलग आईडी के साथ।

JQuery कोड

 $(function() { $( "#accordion1" ).accordion({ collapsible: true, active: false, heightStyle: "content" }); $( "#accordion2" ).accordion({ collapsible: true, active: false, heightStyle: "content" }); }); 

HTML कोड

 <div id="accordion1"> <h3>Section 1</h3> <div>Section one Text</div> </div> <div id="accordion2"> <h3>Section 2</h3> <div>Section two Text</div> </div> 

असल में इस समय के लिए एक समाधान के लिए इंटरनेट खोज रहा था। और स्वीकार किए जाते हैं जवाब "पुस्तक" जवाब से अच्छा देता है। लेकिन मैं इसे स्वीकार नहीं करना चाहता था इसलिए मैंने खोज रखी और पाया:

http://jsbin.com/eqape/1601/edit – लाइव उदाहरण

यह उदाहरण उचित शैलियों में खींचता है और एक ही समय में अनुरोधित कार्यक्षमता को जोड़ता है, प्रत्येक हेडर क्लिक पर अपनी कार्यक्षमता जोड़ने के लिए स्थान के साथ पूरा होता है। इसके अलावा एक से अधिक divs "h3" के बीच में होने की अनुमति देता है

  $("#notaccordion").addClass("ui-accordion ui-accordion-icons ui-widget ui-helper-reset") .find("h3") .addClass("ui-accordion-header ui-helper-reset ui-state-default ui-corner-top ui-corner-bottom") .hover(function() { $(this).toggleClass("ui-state-hover"); }) .prepend('<span class="ui-icon ui-icon-triangle-1-e"></span>') .click(function() { $(this).find("> .ui-icon").toggleClass("ui-icon-triangle-1-e ui-icon-triangle-1-s").end() .next().toggleClass("ui-accordion-content-active").slideToggle(); return false; }) .next() .addClass("ui-accordion-content ui-helper-reset ui-widget-content ui-corner-bottom") .hide(); 

HTML कोड:

 <!DOCTYPE html> <html lang="en"> <head> <meta charset="UTF-8" /> <title>Toggle Panels (not accordion) using ui-accordion styles</title> <!-- jQuery UI | http://jquery.com/ http://jqueryui.com/ http://jqueryui.com/docs/Theming --> <style type="text/css">body{font:62.5% Verdana,Arial,sans-serif}</style> <link href="http://ajax.googleapis.com/ajax/libs/jqueryui/1.8.1/themes/base/jquery-ui.css" rel="stylesheet" type="text/css" /> <script src="http://ajax.googleapis.com/ajax/libs/jquery/1.4.2/jquery.min.js"></script> <script src="http://ajax.googleapis.com/ajax/libs/jqueryui/1.8.1/jquery-ui.min.js"></script> </head> <body> <h1>Toggle Panels</h1> <div id="notaccordion"> <h3><a href="#">Section 1</a></h3> <div class="content"> Mauris mauris ante, blandit et, ultrices a, suscipit eget, quam. Integer ut neque. Vivamus nisi metus, molestie vel, gravida in, condimentum sit amet, nunc. Nam a nibh. Donec suscipit eros. Nam mi. Proin viverra leo ut odio. Curabitur malesuada. Vestibulum a velit eu ante scelerisque vulputate. </div> <h3><a href="#">Section 2</a></h3> <div> Sed non urna. Donec et ante. Phasellus eu ligula. Vestibulum sit amet purus. Vivamus hendrerit, dolor at aliquet laoreet, mauris turpis porttitor velit, faucibus interdum tellus libero ac justo. Vivamus non quam. In suscipit faucibus urna. </div> <h3><a href="#">Section 3</a></h3> <div class="top"> Top top top top </div> <div class="content"> Nam enim risus, molestie et, porta ac, aliquam ac, risus. Quisque lobortis. Phasellus pellentesque purus in massa. Aenean in pede. Phasellus ac libero ac tellus pellentesque semper. Sed ac felis. Sed commodo, magna quis lacinia ornare, quam ante aliquam nisi, eu iaculis leo purus venenatis dui. <ul> <li>List item one</li> <li>List item two</li> <li>List item three</li> </ul> </div> <div class="bottom"> Bottom bottom bottom bottom </div> <h3><a href="#">Section 4</a></h3> <div> Cras dictum. Pellentesque habitant morbi tristique senectus et netus et malesuada fames ac turpis egestas. Vestibulum ante ipsum primis in faucibus orci luctus et ultrices posuere cubilia Curae; Aenean lacinia mauris vel est. Suspendisse eu nisl. Nullam ut libero. Integer dignissim consequat lectus. Class aptent taciti sociosqu ad litora torquent per conubia nostra, per inceptos himenaeos. </div> </div> </body> </html>` 

सरल, कई एकसेंटियन डिवेल प्रत्येक एक एंकर टैग का प्रतिनिधित्व करते हैं जैसे:

 <div> <div class="accordion"> <a href = "#">First heading</a> </div> <div class="accordion"> <a href = "#">First heading</a> </div> </div> 

यह कुछ मार्कअप को जोड़ता है लेकिन एक समर्थक की तरह काम करता है …

सरल: एक क्लास के लिए एम्परेन्टियन सक्रिय, और फिर इसके साथ divs बनाएँ, जैसे गुणक के गुणक उदाहरण।

इस कदर:

जे एस

 $(function() { $( ".accordion" ).accordion({ collapsible: true, clearStyle: true, active: false, }) }); 

एचटीएमएल

 <div class="accordion"> <h3>Title</h3> <p>lorem</p> </div> <div class="accordion"> <h3>Title</h3> <p>lorem</p> </div> <div class="accordion"> <h3>Title</h3> <p>lorem</p> </div> 

https://jsfiddle.net/sparhawk_odin/pm91whz3/

बस अपने स्वयं के accordion के रूप में accordion के प्रत्येक अनुभाग पर कॉल करें सक्रिय: एन पहले के लिए 0 होगा (इसलिए यह दिखाया जाएगा) और बाकी के लिए 1, 2, 3, 4, आदि। चूंकि प्रत्येक व्यक्ति का अपना एकिकोन है, इसलिए सभी के पास केवल 1 अनुभाग होगा, और बाकी को शुरू करने के लिए ढह जाएगा।

 $('.accordian').each(function(n, el) { $(el).accordion({ heightStyle: 'content', collapsible: true, active: n }); }); 

यहां तक ​​कि सरल, यह प्रत्येक ली टैग के वर्ग विशेषता में लेबल किया है और प्रत्येक ली के माध्यम से लूप के लिए jquery को एॉर्डरियन को इनिशियलाइज़ करना है।

खुले jquery-ui – *। js

$.widget( "ui.accordion", {

_eventHandler: function( event ) { अंदर

परिवर्तन

 var options = this.options, active = this.active, clicked = $( event.currentTarget ), clickedIsActive = clicked[ 0 ] === active[ 0 ], collapsing = clickedIsActive && options.collapsible, toShow = collapsing ? $() : clicked.next(), toHide = active.next(), eventData = { oldHeader: active, oldPanel: toHide, newHeader: collapsing ? $() : clicked, newPanel: toShow }; 

सेवा मेरे

 var options = this.options, clicked = $( event.currentTarget), clickedIsActive = clicked.next().attr('aria-expanded') == 'true', collapsing = clickedIsActive && options.collapsible; if (clickedIsActive == true) { var toShow = $(); var toHide = clicked.next(); } else { var toShow = clicked.next(); var toHide = $(); } eventData = { oldHeader: $(), oldPanel: toHide, newHeader: clicked, newPanel: toShow }; 

active.removeClass( "ui-accordion-header-active ui-state-active" ); से पहले active.removeClass( "ui-accordion-header-active ui-state-active" );

जोड़ if (typeof(active) !== 'undefined') { और समापन }

का आनंद लें

आप प्रत्येक jquery फ़ंक्शन का उपयोग करते हैं;

 $(function() { $( ".selector_class_name" ).each(function(){ $( this ).accordion({ collapsible: true, active:false, heightStyle: "content" }); }); }); 

JQuery-UI एस्ट्रियोन के बिना, एक बस यह कर सकता है:

 <div class="section"> <div class="section-title"> Section 1 </div> <div class="section-content"> Section 1 Content: Lorem ipsum dolor sit amet. Lorem ipsum dolor sit amet. </div> </div> <div class="section"> <div class="section-title"> Section 2 </div> <div class="section-content"> Section 2 Content: Lorem ipsum dolor sit amet. Lorem ipsum dolor sit amet. </div> </div> 

और जेएस

 $( ".section-title" ).click(function() { $(this).parent().find( ".section-content" ).slideToggle(); }); 

https://jsfiddle.net/gayan_dasanayake/6ogxL7nm/