2017-11-22 3 views
0

ich einen Fehler mit einem Scroll-div, weil es mir einen Raum hinzufügen, und ich weiß nicht, wie es zu beseitigenScrolling Div Bug

<script type='text/javascript'> 
$(window).scroll(function() { 
    var nav = $(".menu"); 
    var top = 200; 
    if ($(window).scrollTop() >= top) { 

     nav.addClass("-fixo menunu"); 

    } else { 
     nav.removeClass("-fixo menunu"); 
    } 
}); 
</script> 

Die Sache ist die, dass die div Änderung <div class="menu">-<div class="menu -fixo menunu"> und es hat ohne den Raum zu sein, so <div class="menu-fixo menunu">. Irgendein Vorschlag?

Antwort

0

Sie können nur ein Suffix einer Klasse mit addClass oder removeClass nicht hinzufügen/entfernen.

Zuerst entfernen Sie .menu und fügen Sie menu-fixo menunu hinzu.

Entfernen Sie die var nav, weil es nur das Menüelement erhält, wenn es .menu und nicht .menu-fixo ist.

var top = 200; 
if ($(window).scrollTop() >= top) { 
    $(".menu").removeClass("menu").addClass("menu-fixo menunu"); 
} else { 
    $(".menu-fixo").removeClass("menu-fixo menunu").addClass("menu") 
} 
+0

Es funktioniert, aber wenn ich wieder an die Spitze kam, bleibt es als menu-fixo menunu. Was kann ich tun? –

+0

Entfernen Sie das 'var nav', weil es nur das Menüelement erhält, wenn es' .menu' und nicht '.menu-fixo' ist. –

0

addClass und removeClass werden einzelne Klassen hinzufügen/entfernen, anstatt mit allen Klassen in der Zeichenfolge des Klassenattributs zu arbeiten.

Versuchen Sie, diese

if ($(window).scrollTop() >= top) { 
    nav.removeClass("menu"); 
    nav.addClass("menu-fixo menunu"); 
} else { 
    nav.addClass("menu"); 
    nav.removeClass("menu-fixo menunu"); 
} 
+0

Es funktioniert, aber wenn ich wieder an die Spitze kam, bleibt es als menu-fixo menunu. Was kann ich tun? –