Nachdem ich mein Gehirn und meine Zeit damit erschöpfte, fand ich heraus, dass die meisten Drittanbieter-Apps für Schiebefenster die Browser-Unterstützung nicht sehr gut unterstützen. Manche sagen, dass sie es tun, aber wenn man sich die Demos anschaut, tut es das eindeutig nicht. Also habe ich das Projekt repliziert, indem ich jquery.ui einbaute und einfach die Features selbst hinzugefügt habe.
Ich habe Toggle mit "Drop" ausgewählt. Dies ahmt das Einschieben von der linken Seite des Fensters nach. Funktioniert in IE7 + und Chrome.
Ich habe meinen div-Inhalt als "position: fixed" gemacht; Für meine Zwecke mag ich das, weil ich die Kontrolle darüber habe, ob ich ein Overlay machen möchte oder ob ich möchte, dass mein Inhalt verschoben wird.
Dann kann ich mit diesem div-Inhalt die Funktion "animate" von jquery hinzufügen und sie an die gewünschte Position verschieben.
Mit der Zeit werde ich meine eigene Bibliothek erstellen, die alle anderen mit so wenig CSS-Styling wie möglich schlägt. Aber jetzt muss ich nur meine Sachen einpacken.
BEARBEITEN: 17.06.2014 - Dies wurde fast ein paar Tage nach der Veröffentlichung der Antwort hier umgesetzt Hier ist mein Code, den ich mit jquery ui implementiert habe: Wohlgemerkt, Twitter-Bootstrap stört diesen Code nicht, da er an dieser Stelle nur als CSS verwendet wird.
verwendete Komponenten:
- Eine Taste zum Umschalten der Verschiebung, ich gab ihm eine ID="Taste".
- Ein div-Panel mit id="effectMenu"
- Dies ist verantwortlich für das Verschieben und Ausblenden des Menüs
- Ein div-Panel mit id="effectContent" (direkt neben effectMenu)
- Wenn das Menü verschoben und ausgeblendet wird, wird es in den leeren Bereich verschoben
- Wenn das Menü verschoben und zurückkehrt, wird die Folie verschoben und das Menü kann wieder angezeigt werden
- Ein verstecktes Eingabefeld mit id="positionOfEffect"
- Wird verwendet, um zu bestimmen, wo der Inhalt nach verschoben werden soll
- Ein verborgenes Eingabefeld mit id="didContentSlide"
- Enthält einen booleschen Wert: true, wenn der Inhalt an eine neue Position verschoben wurde, false, wenn er in den ursprünglichen Zustand zurückversetzt wurde
Du bekommst also so etwas:
%Vor%Nun der jquery Code:
%Vor%