2010-12-06 14 views
0

Ich habe ein einfaches Dropdown-Menü, und um den Aufbau der Animation zu stoppen, habe ich die stop() Anweisung verwendet, aber jetzt, wenn ich das Menü teste und in und aus dem Menü schweben , die Dropdowns werden "abgeschnitten", wann immer ich sie vollständig sehen möchte.jQuery: Dropdowns werden abgeschnitten

Nicht sicher, ob dies sinnvoll ist.

Hier ist das Skript, das ich allerdings bin mit:

$(function(){ 
$('.dropdown ul').hide(); 
$("ul.dropdown li").hover(function(){  
    $(this).addClass("hover"); 
    $('ul:first',this).stop().slideDown(); 

}, function(){  
    $(this).removeClass("hover"); 
    $('ul:first',this).stop().slideUp(); 
}); 
}); 

Wo muss ich den Anschlag put()?

Jede Hilfe würde sehr geschätzt werden.

Antwort

5

würde ich .stop(true, true) hier verwenden, um die Höhe auf halbem Weg nie verlassen wird, wie folgt aus:

$(function(){ 
    $('.dropdown ul').hide(); 
    $("ul.dropdown li").hover(function(){  
    $(this).addClass("hover"); 
    $('ul:first',this).stop(true, true).slideDown();  
    }, function(){  
    $(this).removeClass("hover"); 
    $('ul:first',this).stop(true, true).slideUp(); 
    }); 
}); 

Das zweite Argument true sagt es um die Animation zu beenden, bis zum Ende der es springen, so dass selbst Wenn Sie eine .slideDown() Animation abschneiden, wird es aus der maximalen Höhe des Elements ... nicht irgendwo dazwischen abgeschnitten.

+0

Es funktionierte perfekt! Ich wusste, dass die Lösung nicht zu schwierig war, ich bin so neu bei jQuery. Vielen Dank Nick :) –

Verwandte Themen