Avatar billede RasmusTheR Seniormester
25. februar 2016 - 16:54 Der er 4 kommentarer og
1 løsning

mouseenter/mouseleave blinker når den bliver aktiveret

Jeg har en div, som jeg gerne vil have til at forsvinde når musen kommer hen over og poppe op igen når musen er væk.
Når jeg kører musen hen over, forsvinder min div ikke, men står og blinker, hver gang jeg bevæger musen det mindste.. 

<script src="https://ajax.googleapis.com/ajax/libs/jquery/1.12.0/jquery.min.js"></script>
<script>
$(document).ready(function(){
    $('#div1').mouseenter(function () {$(this).fadeOut('fast')();});
    $('#div1').mouseleave(function () {$(this).fadeIn('fast')();});
});
</script>

<div id="div1" style="width:80px;height:80px;background-color:red;"></div><br>
Avatar billede Slater Ekspert
25. februar 2016 - 20:00 #1
Dit problem er jo, at du får elementet til at forsvinde når musen er over, og i det elementet ikke eksisterer mere, har musen jo forladt det. Og når musen har forladt elementet, så bliver det vist igen, hvorved musen så igen er over det. Så blinkeriet giver mening.

Du kan erstatte det f.eks. med en meget lav opacity, så elementet aldrig forsvinder, men ikke kan ses. Sådan:

$(document).ready(function(){
    $('#div1').mouseenter(
        function () {
            $(this).animate({opacity: 0.001});
        }
    );
    $('#div1').mouseleave(
    function () {
            $(this).animate({opacity: 1});
        }
    );
});
Avatar billede RasmusTheR Seniormester
25. februar 2016 - 21:44 #2
Det giver god mening.

Kan man gøre så den ikke tager i mod nogle mouseenter, mens den laver animate? Hvis man kører musen frem og tilbage hen over den nu, vil den stå og blinke i et stykke tid efterfølgende..
Avatar billede Slater Ekspert
25. februar 2016 - 22:05 #3
Ja, du kan stoppe animationskøen sådan:

$(document).ready(function(){
    $('#div1').mouseenter(
        function () {
            $(this).stop().animate({opacity: 0.001});
        }
    );
    $('#div1').mouseleave(
    function () {
            $(this).stop().animate({opacity: 1});
        }
    );
});
Avatar billede RasmusTheR Seniormester
25. februar 2016 - 22:28 #4
1000-tak, det virker perfekt :-)

Opret endelig et svar.
Avatar billede Slater Ekspert
25. februar 2016 - 23:18 #5
Så gerne.
Avatar billede Ny bruger Nybegynder

Din løsning...

Tilladte BB-code-tags: [b]fed[/b] [i]kursiv[/i] [u]understreget[/u] Web- og emailadresser omdannes automatisk til links. Der sættes "nofollow" på alle links.

Loading billede Opret Preview
Kategori
Vi tilbyder markedets bedste kurser inden for webudvikling

Log ind eller opret profil

Hov!

For at kunne deltage på Computerworld Eksperten skal du være logget ind.

Det er heldigvis nemt at oprette en bruger: Det tager to minutter og du kan vælge at bruge enten e-mail, Facebook eller Google som login.

Du kan også logge ind via nedenstående tjenester