Как скрыть div на mouseout? - PullRequest
       23

Как скрыть div на mouseout?

1 голос
/ 22 апреля 2011

Я пытаюсь добиться простого эффекта парения.Когда пользователь наводит курсор на изображение (представление, заполненное изображениями), оно должно показывать дополнительный div.Никаких проблем.

Но когда я хочу сделать противоположную вещь, скрыть тот же div, когда пользователь покидает область div, он не работает: div не исчезнет при выходе изобласть div (что должно быть сделано по умолчанию при использовании наведения, нет?).

Вот код, который я использую:

$(document).ready(function () {
    $('.views-field-field-photo-fid').out(function () {
        showDiv($(this), $('.views-field-title'));
    });

    $('.views-field-field-photo-fid').out(function () {
        hideDiv($(this), $('.views-field-title'));
    });
});

function showDiv(sender, object) {
    $(object).show();
}

function hideDiv(sender, object) {
    $(object).hide();
}

Пока я пробовал .mouseenter, .mouseleave, .hover, .out, но ничто не помогает скрыть div после выхода из области div.

ОБНОВЛЕНИЕ
Я нашел решение, более или менее:

 $(document).ready(function() {
        $('#uicarousel-news-preview-block-2 .views-field-field-photo-fid').hover(
            function() { $(this).find('.views-field-title').show(); },
            function() { $(this).find('.views-field-title').hide(); }
        )
   });

Но так как .views-field-title много, он тоже скрывает / показывает их.Поэтому я решил использовать find, но решения там нет.
Есть идеи?

1 Ответ

2 голосов
/ 22 апреля 2011

Не вызывается функция jQuery, я не уверен, используете ли вы плагин или нет.В любом случае, вот так должна выглядеть правильная декларация наведения:

<script style="text/javascript">
   $(document).ready(function() {
        $('.views-field-field-photo-fid').hover(
            function() {
                showDiv($(this), $('.views-field-title'));
            },
            function() {
                hideDiv($(this), $('.views-field-title'));
            });
    });

    function showDiv(sender, object) {
            $(object).show();
    }

    function hideDiv(sender, object) {
            $(object).hide();
    }
</script>

Я предлагаю вам взглянуть на документацию jQuery.hover.

...