Как мне установить начальное состояние jquery hoverIntent - PullRequest
0 голосов
/ 13 июля 2010

Приведенный ниже код отлично работает, расширяя и сжимая «аккордеон».У меня проблемы с установкой начального состояния и началом работы со сжатым аккордеоном.

Я попробовал CSS отображения: ни один во встроенном li, но затем он не расширяется.


$(document).ready(function(){

    var hi_config = {
    sensitivity: 3,
    interval: 300,
    over: hi_mouseover,
    timeout: 300,
    out: hi_mouseout
  };


  $("#accordion > li").hoverIntent( hi_config );

});

function hi_mouseover( ) {
  var $this = $(this);
  $('ul', this).stop(true, true).slideDown('medium');
}

function hi_mouseout( ) {
  var $this = $(this);
  $('ul', this).stop(true, true).slideUp('medium');
}
                       

<ul id="accordion">
   <li><a href="...">Branch 1</a>
    <ul>
            <li><a href="...">leaf 1</a></li>
            <li><a href="...">leaf 2</a></li>
         </ul>
    </li>
   <li><a href="...">Branch 2</a>
    <ul>
            <li><a href="...">leaf 3</a></li>
            <li><a href="...">leaf 4</a></li>
         </ul>
    </li>
</ul>



Ответы [ 2 ]

0 голосов
/ 13 июля 2010

Иосия прав, спасибо.Мне пришлось немного изменить синтаксис, чтобы он работал в моем случае.

$ ("# accordion ul"). Each (function () {$ (this) .slideUp ('medium');});

0 голосов
/ 13 июля 2010

РЕДАКТИРОВАТЬ Упс, то, что я сказал ниже, предполагало, что вы используете виджет аккордеона JQueryUI.Должно быть, я неправильно понял ваш вопрос.Для того, что вы делаете, я бы предложил использовать аккордеон JQueryUI.Но если вы хотите продолжить свой путь, я бы предложил добавить

$("#accordian > li").each().slideUp('medium');

к вашей функции $ (document) .ready.

Старый ответ

set

collapsible:true,

и вызов:

$('#accordion').accordion( "activate" , false )
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...