遅い接続でサイトビルドをテストしていて、残りのサイトがロードされてから最後に折りたたまれるまで、jQueryアコーディオンは長い間拡張されていることに気付きました。あまりにもかわいい。私はどのようにローディングプロセスで折り畳まれたままにしておき、クリックしたときだけ展開できるのだろうと思っていました。ロード中にjQueryアコーディオンを非表示にする
私は、accordionプラグインのスタンドアロン1.6バージョンで作業しています。
基本構造:
<div class="sidebar">
<ul id="navigation" class="ui-accordion-container">
<li><a class="head" href="#">1</a>
<ul class="sub">
<li><a href="#">1a</a></li>
<li><a href="#">2a</a></li>
</ul>
</li>
</ul>
</div>
とスクリプト
jQuery().ready(function(){
jQuery('#navigation').accordion({
active: 'false',
header: '.head',
navigation: true,
animated: 'easeslide',
collapsible: true
});
});
私はロード中に表示されてからそれらを保つためにCSSで要素を非表示しようとしましたが、達成されたものすべてが常にそれらを持っています隠されたこの事は少しスムーズに実行させる方法上の任意のアドバイスを事前に
#navigation{
margin:0px;
margin-left: 10px;
padding:0px;
text-indent:0px;
font-size: 1.1em;
width:200px;
text-transform: uppercase;
padding-bottom: 30px;
}
#navigation ul{
border-width:0px;
margin:0px;
padding:0px;
text-indent:0px;
}
#navigation li{
list-style:none outside none;
}
#navigation li ul{
height:185px; overflow:auto;
}
#navigation li ul.sub{
background:url('../images/sub.jpg') no-repeat;
dispaly: block;
}
#navigation li li a{
color:#000000;
display:block;
text-indent:20px;
text-decoration: none;
padding: 6px 0;
}
#navigation li li a:hover{
background-color:#FFFF99;
color:#FF0000;
}
おかげで、アコーディオンを持つ:
はたぶん問題は、私は、サブメニューのそれぞれに背景画像を持っているCSSであります常に崩壊した。
-edit - 私は、Javascriptを使用していないユーザーにもナビにアクセスできるようにするための解決策を期待しています。
はい:ページのロード時に1枚のパネルが表示されているのであれば、おそらく次のようなCSSルールを使用してみてください。 1つのパネルではなく、ページが読み込まれている間にすべてが展開されます。 – Zac