Я пытаюсь наложить DIV на изображение. Я делаю это с помощью событий mouseenter и mouseleave. Я использую Knockout для привязки данных.Наложение div над изображением
<ul class="gallery" data-bind="foreach: images">
<li>
<img data-bind="attr: {src:tUrl},event: {mouseenter: $parent.showOverlay, mouseleave: $parent.hideOverlay}" />
</li>
</ul>
<div class="list-overlay overlay">
<img src="/Content/images/play.png" /> Watch
</div>
Javascript:
showOverlay: function (data, event) {
var position = $(event.currentTarget).position();
var height = $(event.currentTarget).innerHeight();
var width = $(event.currentTarget).innerWidth();
$(".list-overlay").css("top", parseInt(position.top) + parseInt(height) - 40);
$(".list-overlay").css("left", position.left);
$(".list-overlay").css("width", width)
$(".list-overlay").show();
},
hideOverlay: function() {
$(".list-overlay").hide();
}
Приведенный выше код работает отлично, чтобы показать наложение. Если я начну перемещать мышь на оверлей, она начнет мерцать, так как она снова и снова запускает мышь, а затем мышь. Я также пытался использовать mouseleave и mouseout, но поведение такое же.
Но я должен скрыть накладку, когда мышь выйдет из изображения, не приступив к наложению вообще. Мой оверлей не занимает полного изображения. – user3731783