2017-06-08 2 views
0

Ich bin sicher, das ist unglaublich dumm, sobald ich einen Hinweis bekomme, aber ich kann nicht sehen, warum der Hover nicht funktioniert. Ich habe die jQuery nur hinzugefügt, um zu überprüfen, ob es mit einem Klick funktioniert.Warum funktioniert es nicht, wenn ich auf dem Bild schwebe?

$(document).on("click", ".figure", function() { 
 
    $(".popover").css("opacity", "1"); 
 
})
.container { 
 
    position: relative; 
 
} 
 

 
.popover { 
 
    background-color: blue; 
 
    position: absolute; 
 
    top: 0; 
 
    left: 200px; 
 
    opacity: 0; 
 
    transition: opacity 0.5s ease-in-out 0s; 
 
} 
 

 
.figure:hover .popover { 
 
    opacity: 1; 
 
}
<script src="https://ajax.googleapis.com/ajax/libs/jquery/2.1.1/jquery.min.js"></script> 
 
<div class='container'> 
 
    <div class='figure'> 
 
    <img src='https://placehold.it/100' /> 
 
    </div> 
 
    <div class='popover'> 
 
    <p> 
 
     Bla bla 
 
    </p> 
 
    </div> 
 
</div>

+1

.abbildung: Hover + .popover {Opazität: 1} diesen Code versuchen. .figure und .popover sind Geschwister, also müssen Sie den Geschwisterselektor verwenden, um die Arbeit zu erledigen –

Antwort

3

Weil Ihr .popover div kein Kind von .figure div ist.

Gebrauchte + Selektor für dieses

$(document).on("click", ".figure", function() { 
 
    $(".popover").css("opacity", "1"); 
 
})
.container { 
 
    position: relative; 
 
} 
 

 
.popover { 
 
    background-color: blue; 
 
    position: absolute; 
 
    top: 0; 
 
    left: 200px; 
 
    opacity: 0; 
 
    transition: opacity 0.5s ease-in-out 0s; 
 
} 
 

 
.figure:hover + .popover { 
 
    opacity: 1; 
 
}
<script src="https://ajax.googleapis.com/ajax/libs/jquery/2.1.1/jquery.min.js"></script> 
 
<div class='container'> 
 
    <div class='figure'> 
 
    <img src='https://placehold.it/100' /> 
 
    </div> 
 
    <div class='popover'> 
 
    <p> 
 
     Bla bla 
 
    </p> 
 
    </div> 
 
</div>

+0

Richtig, in der Tat mit '.container: hover .popover {}' es funktioniert –

0

Wechsel:

.figure:hover .popover { 
    opacity: 1; 
} 

An:

.figure:hover + .popover { 
    opacity: 1; 
} 
-1

Versuchen Sie Klassen in id's zu ändern und dann schweben Sie.

JSFiddle link

#figure:hover + #popover { 
    opacity:1; 
} 
Verwandte Themen