jquery показать элемент на mouseenter

0

Как говорится в названии, я хочу, чтобы элемент исчезал, когда мышь нависает над ним.

<div class="carousel-item">

    <div class="carousel-item-top">
        <img class="img-responsive" alt="a" src="carousel/crsl-img-1.png">
        <div class="carousel-item-top-hover"></div>
    </div>

    <div class="inline-block carousel-item-bottom">
        <h5 class="pull-left">Awesome Design</h5>
        <span class="pull-right share">
            74
            <i class="fa fa-heart"></i>
            <span class="v-sep"></span>
            <i class="fa fa-share"></i>
        </span>
    </div>

</div>

Css для предмета, который я надеюсь стать видимым

.carousel-item-top-hover{
    position: absolute;
    top: 0;
    left: 0;
    width: 100%;
    height: 100%;
    background-color: #219fd1;
    opacity: 0.85;
    display: none;
}

И один из вариантов javascript я надеялся иметь возможность справиться с этим

$(".carousel-item-top").mouseenter(function () {
    $(this)(".carousel-item-top-hover").fadeIn('slow')
});
  • 0
    Почему вы не используете CSS3 для этого? Похоже, идеальная ситуация.
  • 0
    @FranciscoPresencia Он, кажется, хочет, чтобы элементы реагировали на изменения в состоянии других элементов. Мне это кажется проблемой для jQuery.
Показать ещё 3 комментария

3 ответа

1

Примечание. То, что вы сказали, не отражает ваш код, который вы пробовали (вы сказали, что хотите, чтобы элемент отображался, когда мышь над ИТ, но код показывает, когда что-то еще зависнет.) Я предполагаю, что вы означало, что говорит ваш код.

Правильный обработчик - $ (el).mouseover().

$(".carousel-item-top").mouseover(function () {
    $(".carousel-item-top-hover").fadeIn('slow')
});

вы его почти получили, но у вас было лишнее (this).

  • 0
    Да, но fadeIn не будет работать с частично непрозрачным элементом. Смотрите мой ответ: stackoverflow.com/a/20928178/2535504
  • 0
    @ AlexanderO'Mara fadeIn jQuery автоматически устанавливает для дисплея что-то отличное от встроенного, встроенного блока, блока и т. Д.
Показать ещё 2 комментария
1

Вы не можете нависнуть над тем, что не отображается. Мышь не может нависнуть над чем-то, чего там нет. Возможно, вы захотите установить видимость на скрытый, а не на дисплей. Тогда еще есть место, где вы можете нависнуть над ним.

visibility: hidden;

Если это не сработает, установите непрозрачность в 0 и анимируйте непрозрачность до.85 при вводе мыши.

0

Вместо использования fadeIn используйте fadeTo следующим образом:

$(".carousel-item-top-hover").fadeTo('slow', 1);

Вместо медленного вы также можете обеспечить целое число для скорости в миллисекундах.

Ещё вопросы

Сообщество Overcoder
Наверх
Меню