Ich verwende die Folie Animation von jQuery UI, um ein div zwischen zwei anderen in einer Zeile einzufügen, aber beim Auslösen der Animation ist der Platz für das div zu gleiten erforderlich Sprung erscheint ohne Animation und dann kommt die Animation.jQuery UI Folie springt, um Platz zu schaffen, animiert dann
EDIT: JSFiddle Problem behoben, dank der Jungs unten. New JSFiddle ist: https://jsfiddle.net/7ryukzd7/3/ Aber die Erstausstellung bleibt :-)
Für einen Grund, warum ich in JSFiddle nicht bekommen, die div rutscht nicht inline aber Pausen (die in einem Browser nicht passiert). .. Jedenfalls ist der Punkt trotzdem illustriert. (ist dies nun gelöst)
Mein Code:
HTML:
<div class="bloc cover" style="background-color: blue;"><p class="readmore_button">Read More</p></div>
<div class="bloc hidden" style="background-color: red"><p>Lorem ipsum dolor sit amet. </p></div>
<div class="bloc cover" style="background-color: blue;"></div>
<div class="bloc cover" style="background-color: blue;"></div>
CSS:
.bloc {
display: inline-block;
vertical-align: top;
}
.cover {
width: 100 px;
height: 100 px;
}
.hidden {
height: 100 px;
width: 200 px;
}
JS mit jQuery UI:
$('.hidden').hide();
$('.readmore_button').on('click', function() {
$(this).parents('.bloc').next('.hidden').toggle("slide", 1000);
});
Ich sah ähnliche Probleme hier: jQuery UI show using slide animation jumps to full height before animation starts aber konnte es nicht an meine Situation anpassen.
Jede Hilfe wäre sehr geschätzt, entweder auf dem Grund, warum inline-block bricht mit Animation in JSFiddle (gelöst) oder auf der aktuellen Ausgabe :-)
Sie können versuchen, '.ui-Effekte-Wrapper { Anzeige: inline-block wichtig; } 'obwohl ich nicht weiß, ob das der Effekt ist, den du anstrebst. –
Danke! Ich habe meinen ursprünglichen Post mit @ Stevangelista's Korrektur bearbeitet. Mein erstes Problem bleibt jedoch. –
Ich glaube, Sie verstehen nicht, wie das über die Toggle-Funktion implementierte Slide-Animate-Verhalten funktioniert - es animiert nur die Elemente, auf die das Targeting erfolgt, und nicht jedes Element im DOM. Wenn Sie möchten, dass die 'div'-Elemente rechts neben dem Ziel animiert werden, müssen Sie sie als solche codieren. – Stevangelista