Ich möchte zwischen zwei Elementen an einer Stelle wechseln. Beim Umschalten wird das aktuelle Element ausgeblendet, und danach wird das nächste Element eingeblendet, um das alte Element zu ersetzen. Also habe ich eine Verzögerungszeit für den .ng-hide-remove gesetzt, um diesen Effekt zu bekommen.Verhindern, dass Element Platz belegt, bevor es angezeigt wird
Aber bevor das nächste Element angezeigt wird, belegt es Platz im DOM und bricht das Layout der Seite.
Wie kann ich das beheben? Hier
ist die Geige Link: fiddle
css:
div {
transition: all linear 0.5s;
}
#div1 {
background-color: lightblue;
}
#div2 {
background-color: lightgreen;
}
.ng-hide-remove {
transition-delay: 0.5s;
}
.ng-hide {
opacity: 0;
}
HTML:
<h1>Switch the DIVs: <input type="checkbox" ng-model="myCheck"></h1>
<div id="div1" ng-hide="myCheck">Div 1</div>
<div id="div2" ng-hide="!myCheck">Div 2</div>
Vielen Dank, aber ich mag auch den Fade-out-Effekt. –
Ich empfehle, https://daneden.github.io/animate.css/ zu verwenden. Auf diese Weise müssen Sie es nicht selbst tun. Ich kann die Geige später damit aktualisieren, aber es ist ziemlich einfach! Sie könnten eine ng-Klasse haben und den erforderlichen Klassennamen basierend auf 'myCheck' hinzufügen. – Srijith
Vielen Dank, ich werde es mir ansehen. –