Как говорится в названии, я хочу, чтобы элемент исчезал, когда мышь нависает над ним.
<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')
});
Примечание. То, что вы сказали, не отражает ваш код, который вы пробовали (вы сказали, что хотите, чтобы элемент отображался, когда мышь над ИТ, но код показывает, когда что-то еще зависнет.) Я предполагаю, что вы означало, что говорит ваш код.
Правильный обработчик - $ (el).mouseover().
$(".carousel-item-top").mouseover(function () {
$(".carousel-item-top-hover").fadeIn('slow')
});
вы его почти получили, но у вас было лишнее (this)
.
fadeIn
не будет работать с частично непрозрачным элементом. Смотрите мой ответ: stackoverflow.com/a/20928178/2535504
Вы не можете нависнуть над тем, что не отображается. Мышь не может нависнуть над чем-то, чего там нет. Возможно, вы захотите установить видимость на скрытый, а не на дисплей. Тогда еще есть место, где вы можете нависнуть над ним.
visibility: hidden;
Если это не сработает, установите непрозрачность в 0 и анимируйте непрозрачность до.85 при вводе мыши.
Вместо использования fadeIn
используйте fadeTo
следующим образом:
$(".carousel-item-top-hover").fadeTo('slow', 1);
Вместо медленного вы также можете обеспечить целое число для скорости в миллисекундах.