मैं एक accordion बनाने का प्रयास कर रहा हूं जहां मैं एक क्लिक के साथ सभी वर्गों को विस्तृत/संक्षिप्त कर सकता हूं। मुझे उपयोगकर्ता को एक समय में 0-एन अनुभाग खोलने वाले अनुभागों को खोलने और बंद करने की क्षमता की भी आवश्यकता है। स्टैक ओवरफ्लो और jquery मंचों पर यहां कई चर्चाओं का उपयोग करके, यहां समाधान है जिसके साथ मैं आया हूं: मैंने प्रत्येक अनुभाग को अपने स्वयं के accordion के रूप में कार्यान्वित किया है, जहां प्रत्येक को संक्षिप्त करने के लिए सेट किया गया है = सत्य।jquery ui accordion - एकाधिक accordions सभी स्टाइल समस्याओं का विस्तार/पतन
<html>
<head>
<title>Accordion Test</title>
<script type="text/javascript" src="../scripts/jquery-1.4.2.min.js"></script>
<script type="text/javascript" src="../scripts/jquery-ui-1.8.4.custom.min.js"></script>
<link rel="stylesheet" href="../_templates/css/jquery-ui-1.8.6.custom.css" type="text/css" />
<link rel="stylesheet" href="../_templates/css/jquery.ui.accordion.css" type="text/css" />
</head>
<body>
<a onClick="expandAll()">Expand All</a>
<br>
<a onClick="collapseAll()">Collapse All</a>
<div id="accordion1" class="accord">
<h5><a href="#">section 1</a></h5>
<div>
section 1 text
</div>
</div>
<!-- orders section -->
<div id="accordion2" class="accord">
<h5><a href="#">section 2</a></h5>
<div>
section 2 text
</div>
</div>
<!-- section 3 -->
<div id="accordion3" class="accord">
<h5><a href="#">section 3</a></h5>
<div>
section 3 text
</div>
</div>
<!-- section 4 -->
<div id="accordion4">
<h5><a href="#">section 4</a></h5>
<div>
section 4 text
</div>
</div>
</body>
</html>
<script type="text/javascript">
$(function() {
$('#accordion1').accordion({
header: 'h5',
collapsible: true,
autoHeight: false
});
});
$(function() {
$('#accordion2').accordion({
header: 'h5',
collapsible: true,
autoHeight: false,
active: false
});
});
$(function() {
$('#accordion3').accordion({
header: 'h5',
collapsible: true,
autoHeight: false,
active: false
});
});
$(function() {
$('#accordion4').accordion({
header: 'h5',
collapsible: true,
autoHeight: false,
active: false
});
});
</script>
<script type="text/javascript">
$(document).ready(function() {
})
function expandAll() {
alert("calling expandAll");
$("#accordion1, #accordion2, #accordion3, #accordion4")
.filter(":not(:has(.ui-state-active))")
.accordion("activate", 0);
}
function collapseAll() {
alert("calling collapseAll");
$("#accordion1, #accordion2, #accordion3, #accordion4")
.filter(":has(.ui-state-active)")
.accordion("activate", -1);
}
</script>
समस्या मैं में चल रहा हूँ
, है जब मैं एक खुली खंड के शीर्षक पर क्लिक करें, अनुभाग के रूप में उम्मीद ध्वस्त हो गई है, लेकिन शीर्ष लेख अभी भी "ui राज्य फोकस" वर्ग है, मैं जब तक पेज पर कहीं और क्लिक करें। तो मैं यूई में जो देखता हूं वह है कि खंड के शीर्षलेख में मेरे होवर प्रभाव के समान पृष्ठभूमि रंग होता है, जब तक कि मैं कहीं और क्लिक नहीं करता, और यह 'डिफ़ॉल्ट, केंद्रित नहीं' रंग में बदल जाता है।
इसके अतिरिक्त, जब मैं संकुचित सभी लिंक का उपयोग करता हूं, तो फ़ायरफ़ॉक्स में सभी बेहतरीन लगते हैं। आईई में, अंतिम अनुभाग शीर्षलेख में एक ही होवर-फ़ोकस रंग होता है।
कोई सुझाव? क्या मुझे किसी भी तरह से बंद होने पर फोकस खोने के लिए मजबूर करने की आवश्यकता है? मैं इसे कैसे पूरा करूं?
यह एक अकॉर्डियन के लिए समाधान नहीं है। नमूना में एकाधिक accordions का उपयोग किया जाता है। – jmav