Ich habe 2 divs, 70% und 30% Breiten, innerhalb einer 100% Breite div. Bei Klick möchte ich das 70% div auf 100% width ändern und über das 30% div "rutschen" und beim zweiten Klick zurück auf 70% und das 30% div wiederherstellen. Ich habe unten den gewünschten Effekt halb erreicht; es "rutscht" über das kleinere div, behält aber seine Breite von 70% bei. Ich kann die Breite nicht auf 100% erweitern, ohne eine Stottern-Animation zu haben, da ich die Breitenänderung nach dem Umschalten aufgerufen habe oder sie auf 100% erweitert habe, aber die anderen 30% div immer noch sichtbar sind und die Divs auf 2 Zeilen klopfen .Gleitbereiche mit prozentualen Breiten
http://jsfiddle.net/establish/scKf2/
habe ich eine ähnliche Frage sehen, das funktioniert, aber sie sind statisch Breiten und ich konnte sie in Prozentsätzen, ohne die oben genannten Probleme wieder auftauchende nicht erfolgreich konvertieren.
http://jsfiddle.net/establish/kjDYh/
HTML
<div id='ember'>
<div id='sidebar'>
</div>
<div id='activity'>
<a href='#' id='trigger'>Nav</a>
</div>
</div>
CSS
#sidebar {
background-color: green;
float: left;
height: 200px;
position: relative;
z-index: 5;
width: 30%;
}
#activity {
background-color: purple;
float: left;
height: 200px;
position: relative;
z-index: 10;
width: 70%;
}
a {
color: white;
display: block;
padding: 12px;
text-decoration: none;
}
JS - Erster Versuch
$('#trigger').click(function() {
$('#sidebar').animate({width: 'toggle'});
});
JS - Zweiter Versuch
$('#trigger').toggle(function() {
$('#sidebar').animate({width: '+=22em'});
$('#activity').animate({width: '-=22em'});
},function() {
$('#sidebar').animate({width: '-=22em'});
$('#activity').animate({width: '+=22em'});
});
Hoppla müssen Sie vielleicht die #Sidebar und #Aktivitätsbreiten um –
Bah tauschen, einfach am Ende. Vielen Dank! –
warum nie daran gedacht, '0px' anstelle von' 0% 'zu verwenden. +1 – cctan