Я тестирую сборку сайта с медленным соединением, и я заметил, что 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>
и script
jQuery().ready(function(){
jQuery('#navigation').accordion({
active: 'false',
header: '.head',
navigation: true,
animated: 'easeslide',
collapsible: true
});
});
Я попытался скрыть элементы в CSS, чтобы они не появлялись во время загрузки, но все, что было достигнуто, заключается в том, что они всегда скрыты.
Возможно, проблема в 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;
}
Заранее благодарим за любой совет о том, как сделать эту вещь немного более гладкой, и аккордеон всегда рушится.
-edit - Я забыл упомянуть, что я также надеюсь на решение, которое позволит nav оставаться доступным для тех, у кого нет Javascript.