Jquery. Помогите сменить событие .hover на .click

Тема в разделе "HTML, CSS, XML, JavaScript", создана пользователем serdeles, 22 ноя 2010.

  1. serdeles

    serdeles Гость

    Есть код аккордеона. Работает при событии .hover. Но мне надо, чтобы работал по клику. Клик — открылось, ещё раз клик — закрылось.

    Исходный код:

    Код (Text):
    <script type="text/javascript">
    $(function() {
    $('#accordion > li').hover(
    function () {
    var $this = $(this);
    $this.stop().animate({'width':'480px'},500);
    $('.heading',$this).stop(true,true).fadeOut();
    $('.bgDescription',$this).stop(true,true).slideDown(500);
    $('.description',$this).stop(true,true).fadeIn();
    },
    function () {
    var $this = $(this);
    $this.stop().animate({'width':'115px'},1000);
    $('.heading',$this).stop(true,true).fadeIn();
    $('.description',$this).stop(true,true).fadeOut(500);
    $('.bgDescription',$this).stop(true,true).slideUp(700);
    }
    );
    });
    </script>
    Я пытался прописать событие .click, но оно работает только на открытие. Второй клик не работает, и, как результат, аккордеон не закрывается:

    Код (Text):
    <script type="text/javascript">
    $(function() {
    $('#accordion > li').click(
    function () {
    var $this = $(this);
    $this.stop().animate({'width':'480px'},500);
    $('.heading',$this).stop(true,true).fadeOut();
    $('.bgDescription',$this).stop(true,true).slideDown(500);
    $('.description',$this).stop(true,true).fadeIn();
    },
    function () {
    $('#accordion > li').click(
    function(){
    var $this = $(this);
    $this.stop().animate({'width':'115px'},1000);
    $('.heading',$this).stop(true,true).fadeIn();
    $('.description',$this).stop(true,true).fadeOut(500);
    $('.bgDescription',$this).stop(true,true).slideUp(700);
    });
    }
    );
    });
    </script>


    Помогите добавить второй клик, пожалуйста.

    Ссылка на исходник (на всякий случай).
     
  2. vital

    vital Больной Компом Детектед
    Команда форума Web Team

    Регистрация:
    29 янв 2006
    Сообщения:
    2.474
    Симпатии:
    27
    .toggle()
     
  3. AlexanderC

    AlexanderC Гость

    Более содержательного ответа ещё не видел o_O , а главное верно !!!
     
  4. serdeles

    serdeles Гость

    Спасибо :)
     
Загрузка...

Поделиться этой страницей