Ich habe eine Spalte, die auf einer click
Funktion nach links verschoben wird. Ich füge dann die Klasse von w
zum Behälter hinzu, um seine Breite zu ändern, sobald die Spalte heraus gleitet. Was ich versuche zu tun ist, fügen Sie die Klasse e
, wenn es wieder einschiebt und dann entfernen Sie die Klasse w
durch das Einschließen in die toggle
Funktionen, aber der Container enthält immer noch die Klasse w
und wird nicht die Klasse e
hinzufügen . Gedanken?Klasse entfernen/hinzufügen, wenn sie auf Toggle basiert
FIDDLE: http://jsfiddle.net/QDUQk/1926/
.container {
border: 1px solid #000;
width: 200px;
}
.container.e {
width: 80%;
}
.container.w {
width: 100%;
}
<div class="togl">Menu</div>
<div class="col">
SLIDE ME SLIDE ME PLX PLX
</div>
<div class="container">
</div>
$('.togl').click(function() {
if ($('.container').is(':visible')) {
$('.col').toggle('slide', {
direction: 'left'
}, 1000, function() {
$('.container').addClass('w');
$('.container').removeClass('e');
});
} else {
$('.col').toggle('slide', {
direction: 'left'
}, 1000, function() {
$(".container").removeClass('w');
$(".container").addClass('e')
});
}
});
@coding_question [Siehe: sichtbar Selector] (https://api.jquery.com/visible-selector/) _ "Elemente sichtbar betrachtet werden, wenn sie Platz im Dokument verbrauchen sichtbare Elemente. eine Breite oder Höhe, die größer als Null ist Elemente mit 'visibility: hidden' oder' opacity: 0' werden als sichtbar betrachtet, da sie immer noch Platz im Layout verbrauchen. "_ http://jsfiddle.net/QDUQk/ 1928/ – guest271314
Akzeptiert, danke. Ich werde etwas über .is lesen. –
Verwenden Sie stattdessen 'hasClass()' – RizkiDPrast