Element mit Scriptacolous (un-)sichtbar machen
daniel2
- javascript
0 Aikidoka0 daniel2
0 der-daniel0 Felix Riesterer
0 daniel2
Hallo alle zusammen,
ich verwende Scriptacolous und möchte ein gegebenes Div "content" per Klick ein- und ausfahren lassen. Am Anfang soll das Div dabei zwar schon fertig im Code stehen, allerdings noch nicht sichtbar sein.
Also ungefähr so:
<div id="content">
DIESES DIV SOLL EIN- UND AUSFAHREN
</div>
<a href="#" onClick="new Effect.BlindUp('content')">Einfahren</a>
<a href="#" onClick="new Effect.BlindDown('content')">Ausfahren</a>
Soweit so, so gut. Das klappt alles.
Aaaaaaaber: Das Div "Content" ist beim ersten Laden der Seite natürlich sichtbar. Ich möchte aber, daß es erst sichtbar wird, wenn man aus "Ausfahren" klickt...
Ich habe schon versucht, das "content" per CSS auf display:none oder visible:hidden zu stellen, aber dann wird es (natürlich) gar nicht mehr sichtbar.
Leider habe ich in der Scriptacolous-Doku nicht gefunden, wie man das machen kann oder welche Eigenschaften ich "content" geben müßte, um es erst zu verstecken und dann wieder sichtbar zu machen.
Vielen Dank für eure Hilfe,
Grüße,
Daniel
Hallo!
Wie wärs mit height:0px; ?
gruß, aikidoka
Wie wärs mit height:0px; ?
Leider daneben :-)
Das ist es nicht.
Hallo alle zusammen,
hi daniel!
du könntest dein unsichtbares div mit style='display:none;' erstmal richtig unsichtbar machen.
per onclick könntest du dann den style auf display:block ändern.
so kann man komfortabel ein/ausblenden.
wenn du bei jedem klick dann noch den statuswert abfrägst, kannst du entweder display:none oder display:block mit einem klick ändern.
viel spass beim tüfteln,
der-daniel
Hi,
du könntest dein unsichtbares div mit style='display:none;' erstmal richtig unsichtbar machen.
per onclick könntest du dann den style auf display:block ändern.
so kann man komfortabel ein/ausblenden.
Ja, das würde sicher funktionieren - allerdings ginge dann der schöne Scriptacolous-Effekt verloren und mit einem Klick wäre der Inhalt schlagartig sichtbar oder eben nicht. Mittels Scriptacolous kann ich ihn stattdessen elegant ein- und ausgleiten lassen. Da sich dadurch der gesamte Seiteninhalt nach unten verschiebt verspreche ich mir davon eine viel bessere Handhabung der Site...
Aber trotzdem Danke!!
Grüße,
Daniel
Hi,
Ja, das würde sicher funktionieren - allerdings ginge dann der schöne Scriptacolous-Effekt verloren und mit einem Klick wäre der Inhalt schlagartig sichtbar oder eben nicht. Mittels Scriptacolous kann ich ihn stattdessen elegant ein- und ausgleiten lassen.
Elegant? Du meinst, Du willst den User nerven, weil der "endlos" drauf warten muß, bis das endlich da ist?
Bedenke auch, daß für den Fall, daß Du das Teil anfangs unsichtbar machst und es danach nur per Javascript sichtbar ist, manche User das gar nicht zu sehen bekommen.
cu,
Andreas
Lieber daniel2,
ich verwende Scriptacolous und möchte ein gegebenes Div "content" per Klick ein- und ausfahren lassen.
"einfahren" und "ausfahren" hört sich so an, als ob entweder die top- und left-Werte (bei position:absolute) verändert würden, oder am margin gefummelt würde. Probiere aus, welche Eigenschaften sich dynamisch verändern! Der DOM-Inspector des Firefox kann Dir weitere Auskünfte dazu erteilen.
Ich habe schon versucht, das "content" per CSS auf display:none oder visible:hidden zu stellen, aber dann wird es (natürlich) gar nicht mehr sichtbar.
Diese Eigenschaften kann man auch nicht graduell verändern, da ihre Werte jeweils einen ein/aus-Zustand repräsentieren. Also wird wohl eine andere CSS-Eigenschaft zeitgesteuert verändert! Finde sie und Du hast Dein Problem gelöst!
Liebe Grüße aus Ellwangen,
Felix Riesterer.
Hi Felix,
"einfahren" und "ausfahren" hört sich so an, als ob entweder die top- und left-Werte (bei position:absolute) verändert würden, oder am margin gefummelt würde. Probiere aus, welche Eigenschaften sich dynamisch verändern! Der DOM-Inspector des Firefox kann Dir weitere Auskünfte dazu erteilen.
Der DOM Inspektor ist vielleicht keine schlechte Idee... Danke für den Tipp! Hoffe, ich finde da was.
Also wird wohl eine andere CSS-Eigenschaft zeitgesteuert verändert! Finde sie und Du hast Dein Problem gelöst!
An sowas in der Art habe ich auch schon gedacht und in der Scriptacolous-Doku nach einer entsprechenden Eigenschaft gesucht - nur leider nichts gefunden (müßte ja eigentlich da irgendwo bei stehen). Ist imho ziemlich schlecht dokumentiert... Hatte gehoft, es gäbe hier jemanden, der schon mal vor demselben Problem stand ;-)
Grüße,
Daniel