Jquery UI: Animation entfernen-Klasse auf Rückruf zu animieren, die Klasse hinzufügen schlägt fehl
Wenn einige neue Liste ein Element Hinzugefügt wird, ich will, dass es 'blinkt', indem er eine Klasse hinzufügen und entfernen von es nach auf den Rückruf.
Dies ist der code:
$li.addClass('new', 1000, function() {
$li.removeClass('new', 500);
});
Css:
#galleries-list li {
margin-top: 10px;
background-color: #EEFFFF;
border: 1px solid #99FFFF;
}
#galleries-list li.new {
background-color: #DDFFBB;
border: 1px solid #99FF66;
}
UPDATE:
Habe ich gefunden, was falsch gelaufen ist. Wenn ich entfernt die fadeOut-es funktioniert. Ich habe keine Ahnung, warum. Vielleicht können Sie das überprüfen und schickte es an den jQuery-UI-dev ist.
$('input, img', $li).fadeOut(150, function() {
$gallery.set($li, name, 0); //Clears html and sets gallery name and image count
$li.addClass('create', 2000, function() { $li.removeClass('create', 500); });
});
- Aha! Sie
can
Rückrufe inaddClass
. +1 für nützlicher als die Dokumentation.
Du musst angemeldet sein, um einen Kommentar abzugeben.
Bekannter bug Dies funktioniert nicht in Safari 4, aber es wurde behoben, in der noch unveröffentlichten (zum Zeitpunkt des Schreibens dieses Artikels) version 1.8 von jQuery UI.
Sorry, habe ich entfernt, meine Antwort, weil dein code ist vollkommen korrekt. Aber selbst Ihre demo für
addClass
funktioniert nicht in Safari 4, aber funktionierte gut in Firefox 3.5.Update: Sie können sehen,dein code funktioniert hier, wenn Sie besuchen Sie die Seite in Firefox 3.5:
Ich glaube nicht, dass addClass und removeClass haben Dauer-Parameter.
http://docs.jquery.com/Addclass
Könnten Sie versuchen,
li.addClass("new").animate({"opacity" : 1}, 500, function(){
li.removeClass("neu");
});
Diese fügen die "neue" Klasse, dann pause für eine halbe Sekunde, dann entfernen Sie die Klasse.