Ich arbeitete daran, meine Animationen für verschiedene Elemente dynamisch zu machen, als ich auf dieses Problem stieß (gerade als ich gerade fertig war). Ich kann Eigenschaften nicht mithilfe der JQuery css() -Methode animieren. Ich konnte die Animation mit hart codierten Werten für die Höhe, Breite und Top-Eigenschaften arbeiten. Hier ist der Code-Schnipsel:animate() arbeitet nicht mit dynamischen css() -Eigenschaften
function shrinkSection(section){
var elem = section.SectionID;
$(elem).find(".content").fadeOut(500);
$(elem)
.animate({top: $(elem).css('top'), height: $(elem).css('height')}, 500)
.animate({width: $(elem).css('width')}, {duration: 500,
complete: function() {
$(elem).find(".icon").fadeIn(500);
$(elem).addClass("active");
}
});
}
console.log()
zeigt, dass $(elem).css('[PROPERTY]')
IS Rückgabe des korrekte CSS-Wert. Irgendwelche Ideen, warum das nicht funktioniert?
Nun, wenn Sie das Element von seinem aktuellen "Top" zu seinem aktuellen "Top" animieren, sollte sich nichts ändern, oder? –
Beachten Sie, dass es sich um shrinkSection() handelt. Ich habe eine andere Methode (growSection()), die das Element zu einer größeren Dimension erweitert und dann verkleinert es wieder auf seine ursprüngliche Größe. –
Aber '$ (elem) .css ('height')' gibt die aktuelle, erweiterte Höhe zurück. –