Вопрос

На сайте i Уважаемое, у меня есть эта стиль ссылки, который на щелчке выталкивается в списке каплей ниже, чтобы пользователь мог выбрать жанр.

У меня отлично исчезнет, проблема, в которой я работаю, пытается определить, был ли выпадающий список зависел, чтобы я мог скрыть его, если пользователь охватывает в стиле стилизованной ссылки, не входя в падениевниз по списку.

Итак, раскрывающий список исчезает, пользователь не входит в падающий спустимый элемент, то элемент исчезает, однако, если пользователь вводит падение спускаемого элемента (оставляя ссылку на щелчке, который запускает Fadein)Затем выпадание должно оставаться до тех пор, пока не оставив раскрывающийся элемент.

Вот код, который у меня есть до сих пор:

$('#categories_link').live('click mouseleave', function(e){
    $('.categories').fadeIn(200, function(){
        $(this).live('mouseenter mouseleave', function(evnt){
            switch(evnt.type) {
                case "mouseenter":
                    $(this).stop(true, true)
                    $(this).data('visible', true)
                break;

                case "mouseleave":
                    $(this).data('visible', false)
                break;
            }
        })

        if(e.type == 'mouseleave') {
            if($('.categories').data('visible'))
                return;
            else
                $('.categories').fadeOut(200)
        }
    })
})
.

Это было полезно?

Решение

Структура очень проблематичная.Почему вы добавляете слушателей на мышь отпустить?

Лучшая вещь, которую вы могли бы сделать, это

    .
  • Установите Fadein, чтобы появиться на mouseender
  • Установите Fadeout на MouseLeave с задержкой ~ 300-400 мс с использованием SettimeOut ()
  • Установите фактическое раскрывающееся раскрывающееся расстояние, чтобы исчезать в наземных мыши, используя остановку до этого (т. Е. Стоп (True, True) .fadein (200), но используйте Clearimeout () до того, как это происходит внутри обработчика события.
  • Установите фактическое раскрывающееся раскрывающееся внимание, чтобы Fadeout на MouseLeave

    На самом деле вы должны использовать остановку (True, True) до всех этих анимаций.

    Логика позади этого - это то, что если пользователь охватывает выпадающий раскрывающийся список, выпадающийда попытается исчезать, таким образом, отменив FadeOut.

    Еще один способ сделать это, устанавливается раскрывающимся в родительской бирке, поэтому, когда вы находитесь в кабинете в раскрывающемся положении, в любом случае он не исчезнет (это также работает с чистыми CSS)

Лицензировано под: CC-BY-SA с атрибуция
Не связан с StackOverflow
scroll top