Ich verwende JQuery slideUp/slideDown, um ein Bild zu einem Bild hinzuzufügen, das bis zum Mouseover ausgeblendet ist und dann vom unteren Bildrand nach oben gleitet.JQuery SlideUp - Hintergrundfarbe hinter Bild
Das div, das nach oben gleitet, erhält eine Hintergrundfarbe, aber es erscheint nicht über dem Bild, es erscheint dahinter (der Text wird oben auf dem Bild angezeigt, aber ich kann nur die Unterseite sehen Rand der Hintergrundfarbe des Divs wegen der Ränder, die ich einstelle). Z-Index ist bereits auf 100 gesetzt.
Irgendwelche Ideen? Vielen Dank!
(function($) {
$(document).ready(function() {
$(".slider").attr("style", "display: none;");
if ($(".slider")) {
$('.image').mouseover(function() {
$(this).find(".slider").slideDown("400");
}).mouseout(function() {
$(this).find(".slider").slideUp("400");
});
}
});
}(jQuery));
.image{
height: 300px;
width: 300px;
background: #000000;
}
.slider {
background-color: #333333 !important;
background: #333333 !important;
background-position: 0% 100%;
color: #ffffff;
margin: -90px 0 0 0;
height: 90px;
width: 100%;
z-index: 100 !important;
}
<script src="https://ajax.googleapis.com/ajax/libs/jquery/2.1.1/jquery.min.js"></script>
<div class="container">
<div class="image">
</div>
<div class="slider">
<div class="title">Title</div>
<div class="text">Text</div>
</div>
</div>
Ihre jQuery-Selektor ist falsch. Sie sollten '$ (this) .parent(). Find (". Slider "). SlideDown (" 400 ");' stattdessen verwenden, da sich im '$ (this)' container kein '.slider' befindet ist in diesem Fall '.image'. Aber wenn Sie den Mauszeiger über den Schieberegler bewegen, würde er verschwinden. Ich bin mir nicht sicher, ob es das gewünschte Verhalten ist ... Wahrscheinlich ist es besser, die Ereignisse 'mouseover' /' mouseout' stattdessen an den Container zu binden. –