jQuery-UI-blind-Effekt - zeigen von unten
Könnte dies wirklich offensichtlich, und ich bin völlig fehlt.
Habe ich gesucht für Stunden und kann nicht scheinen, um einen Weg zu finden, mit jQuery ist, zeigen eine versteckte div von unten nach oben. Was ich versuche zu erreichen, ist genau so, wie in dem folgenden link, aber in umgekehrter Richtung: http://jqueryui.com/demos/show/
Kann ich Rutsche ein div von unten nach oben, aber das zeigt selbst, wie es sich bewegt, anstatt 'maskiert'.
Wie gesagt, das könnte (sollte?) wirklich offensichtlich und ich bin nicht zu sehen, aber ich habe auf der Suche seit Ewigkeiten und finde keine Lösung für dieses relativ einfache problem.
Dank,
Ronnie
ronnie können Sie nach einem jsfiddle link
für Sie sicher, dass... jsfiddle.net/gBY8V
der Effekt, den ich will, ist wie man hier sehen kann, aber Umgekehrt (von unten nach oben)
für Sie sicher, dass... jsfiddle.net/gBY8V
der Effekt, den ich will, ist wie man hier sehen kann, aber Umgekehrt (von unten nach oben)
InformationsquelleAutor ronnie burns | 2012-04-12
Du musst angemeldet sein, um einen Kommentar abzugeben.
Den Effekt, den Sie suchen, ist ein wenig schwierig zu erreichen, aber es kann getan werden, auch ohne wrapper-element.
Das Hauptproblem hier ist, dass die Elemente natürlich Rendern, top-down, nicht bottom-up. Animieren sowohl die
top
undheight
CSS-Eigenschaften ein relativ positioniertes element ermöglicht uns die Umsetzung einer slide-up-Effekt, aber das element wird noch Rendern von oben nach unten:Wenn wir wollen, zu simulieren bottom-up-rendering, die wir ändern müssen, um die scrollTop Eigenschaft des Elements während der animation, um Ihren unteren Teil, immer im Blick:
Wir können animieren() mit
scrollTop
, aber damit in Verbindung mittop
undheight
funktionierte nicht korrekt bei meinen tests (ich vermutescrollTop
wird zurückgesetzt, wenntop
oderheight
geändert, in der ersten animation Schritt, so landet es stecken0
).Um dies zu umgehen, können wir Griff
scrollTop
uns durch die optionale Schritt - Funktion, die wir weitergeben können, umanimate()
. Diese Funktion wird mit zwei Argumenten aufgerufen,now
undfx
,now
wird der aktuelle Wert der animierten Eigenschaft undfx
wird ein wrapper-Objekt um nützliche Informationen, wie Sie das element und Eigenschaft animiert wird.Da wollen wir immer
scrollTop
die gleichen sein wietop
haben wir nur um zu testen, obtop
animiert in unsererstep
Funktion. Wenn es ist, setzen wirscrollTop
zunow
. Diese Lösung bietet akzeptable Ergebnisse, obwohl es flackert ein wenig zu viel für meinen Geschmack (vielleicht ein Artefakt von meinem browser, obwohl).So, in Zusammenfassung, die zum implementieren dieser Effekt, den wir haben:
position: relative;
so können wir animieren Ihretop
Eigenschaft,top
auf die ursprüngliche Höhe undheight
zu0
,display: none;
angewendet wird),top
zu0
undheight
auf die ursprüngliche Höhe,scrollTop
den Werttop
auf jede animation Schritt.Resultiert in dem folgenden code:
Können Sie es testen, in diese Geige.
Hi Jungs, ich stolperte über Ihre Lösung hier, es ist wirklich eine sehr ausführliche Antwort und wirklich hilfreich. Ich wusste nicht, wie das flackern, das Los war, so nahm ich die Freiheit, Bearbeiten Sie Ihre Geige und habe eine Lösung gefunden: Geige es ist im Grunde die dezimal-Punkte auf Blättern oben, die nicht gut funktioniert, so dass ich einen Weg gefunden, um zu erzwingen, gerundete Werte. hoffe, es hilft!
vielen Dank für Ihren Kommentar, es ist in der Tat keine merkliche flimmern 🙂 ich würde vorschlagen, dass Sie veröffentlichen Sie Ihren code in eine Antwort und erläutern, wie Sie Ihre Strategie betreibt (upvotes wird kommen, keine sorgen). Merry
$CHILDREN_RULE_HOLIDAY
🙂InformationsquelleAutor Frédéric Hamidi
Sondern blind, mit Folie mit einer "Richtung" - option? Hier ist ein jsFiddle-Beispiel.
jQuery:
Es sieht aus wie nach diesem ticket (bugs.jqueryui.com/ticket/4880), Jalousien, sollten diese Fähigkeit haben jedoch alle die ich bekommen kann es gehen, horizontal oder vertikal. Sie konnte immer dies mithilfe animieren und einen wrapper.
Mmmm, ich sah, und hatte das gleiche problem wie du... Wie würden Sie erreichen diesen Effekt mit animieren und ein wrapper?
Tatsächlich,,, bei genauerer Betrachtung ist dies nicht wirklich mein problem lösen - es wird nur in der Arbeit, wo der wrapper-div die Hintergrundfarbe der Website-hintergrund, aber in meinem Fall nicht funktioniert... trotzdem Danke - so nah!
Ich hatte Probleme, die blind Richtung war anders in Safari und Firefox mit "Richtung" - option. Mit Folie gelöst zu werden. Danke, ich wünschte, ich könnte +1 zweimal.
InformationsquelleAutor j08691
Wenn Sie ok sind, tu die jquery UI-Bibliothek können Sie :
InformationsquelleAutor ZalemCitizen
Nicht den trick tun:
Gehen Sie hierzu: $("DIV").show('clip', {direction:'horizontal'}, 'slow');
Danke Palantir, das fast funktioniert, aber noch nicht ganz das, was ich mir nach.. Den clip-Effekt ist näher zu dem, was ich bin nach, aber ich brauche immer noch das Objekt, wird offenbart werden Briefpapier, wie Sie offenbart.
Vielleicht, getestet werden musste Sie mehr, b ut, sollten Sie überprüfen animate-Funktion von jquery, um einen übergang zwischen Sichtbarkeit:verborgen und Sichtbarkeit:sichtbar auf der linearen Skala nach oben. Effekte von Jquery-ui scheint zu display:none, die als Ausgangs-parameter, die nicht hilft.
InformationsquelleAutor Palantir