ページがロードされたとき、またはイベントが発生したときに、すべてのコンポーネントを展開することはできますか? ありがとう!!
12 に答える
単にこれを使用してください
$('#accordion .ui-accordion-content').show();
このプラグインをお勧めしますマルチオープンアコーディオン
// this will make the second tab by default opened (index starts from 0)
$('#multiAccordion').multiAccordion({active: 1 });
// [ OR ]
// supports multiple tabs to be opened by default
$('#multiAccordion').multiAccordion({active: [1, 2, 3] });
// show all tabs
$('#multiAccordion').multiAccordion({active: 'all' });
// hide all tabs
$('#multiAccordion').multiAccordion({active: 'none' });
// you can set the options as any jQuery UI plugin using option method
$('#multiAccordion').multiAccordion('option', 'active', 'all');
トグルボックスのこの実装が好きです:
http://jsfiddle.net/kevinPHPkevin/mZhTY/107/
<div class="toggle-box">
<div class="toggle-title">Toggle 1</div>
<div class="toggle-content">
<p>text1.</p>
</div>
<div class="toggle-title">Toggle 2</div>
<div class="toggle-content">
<p>text2.</p>
</div>
<div class="toggle-title">Toggle 3</div>
<div class="toggle-content">
<p>text3</p>
</div>
</div>
でこれを見つけました
いいえ、タグの状態でアコーディオンを参照している場合。jQuery から。
注: 複数のセクションを一度に開きたい場合は、アコーディオンを使用しないでください。
私は2年前の質問に答えていることを知っていますが、回避策や代替のアコーディオンプラグインはどれもうまくいきませんでした. 、「すべて折りたたむ」リンクをクリックして再初期化します。このようなもの:
<script type="text/javascript">
function accordionInit() {
$("#accordion").accordion();
}
function accordionDestroy() {
$("#accordion").accordion("destroy");
}
$(function() {
accordionInit();
});
</script>
すべて展開してすべて折りたたむリンクは次のようになります。
<a onClick="accordionDestroy()">Expand all</a> | <a onClick="accordionInit()">Collapse all</a>
document.ready
次のように、jQuery が提供するイベントで実行できます。
CSS:
.myClassToBeHidden { display: none; }
jQuery:
$(function() {
$(".myClassToBeHidden").slideDown();
});
jQuery UIのアコーディオンコントロールを意味する場合...アコーディオンを使用しないでください。すべてを展開することは目的ではなく、他の問題を引き起こすため、これに対してアドバイスします。
邪魔にならないようにして、訪問者がJavaScriptを持っている場合にのみ非表示にするには
CSS:
#divToBeHidden { display: block; }
で<head>
:
$('#divToBeHidden').hide();
の下部<body>
:
$(function() {
$("#divToBeHidden").show(); //Or whatever means you'd prefer of showing the content
});
この質問が出されてから 9 年が経ちました。しかし、デフォルトですべてのアコーディオン div を開くための以下のソリューションを見つけました。ここでは、すべての div コンテンツを表示するためにslideDown()メソッドを使用しました。
$(function () {
$("#accordion").accordion({
header: "> div > h3",
collapsible: true,
heightStyle: "content"
});
jQuery('#accordion h3.ui-accordion-header').next().slideDown();
});
I know that is realy too late but i found the solution today. Just simply use
function expandAll() {
$('#accordion h3').removeClass('ui-state-default')
.addClass('ui-state-active')
.removeClass('ui-corner-all')
.addClass('ui-corner-top')
.attr('aria-expanded', 'true')
.attr('aria-selected', 'true')
.attr('tabIndex', 0)
.find('span.ui-icon')
.removeClass('ui-icon-triangle-1-e')
.addClass('ui-icon-triangle-1-s')
.closest('h3').next('div')
.show();}