Unsichtbares Element einfaden (jQuery)

Einklappen
X
 
  • Filter
  • Zeit
  • Anzeigen
Alles löschen
neue Beiträge

  • Unsichtbares Element einfaden (jQuery)

    Hallo Forum!

    Folgendes Problem, das vielleicht einfach zu lösen ist, aber ich weiß nicht genau wie: Ich habe in einer Seite einen DIV ganz normal eingebaut. Nun möchte ich, dass dieser DIV - wenn die Seite geladen wird - noch nicht sichtbar ist. Erst wenn die Seite geladen ist, möchte ich mit einem Befehl den DIV langsam einfaden lassen.

    Ich habe es zuerst so probiert, dass der DIV standardmäßig über die Eigenschaft "display: none" verfügt. Um in einzublenden, funktioniert aber nur "display: block", nicht jedoch ein jQuery-Befehl wie fadeIn(). Auch mit "visibility: hidden" und nachfoldendem fadeIn() kam ich nicht weiter.

    Hat jemand eine Lösung für mich, wie ich
    1. den DIV erst einblenden kann, nachdem die Seite komplett geladen wurde und
    2. wie ich ihn überhaupt einblenden kann, ohne ihn vorher mittels "display: block" sichtbar zu machen (denn dann ist er ja sofort mit 100% sichtbar).

    Danke!

  • #2
    Hallo,

    warum schaust du nicht einfach erstmal in die Doku?

    Zitat von http://api.jquery.com/fadeIn/
    The .fadeIn() method animates the opacity of the matched elements.
    Das sagt eigentlich bereits aus, dass du wohl am Anfang (also per CSS) die opacity auf 0 setzen solltest, um den Effekt zu erhalten.

    Gruß,

    Amica
    [COLOR="DarkSlateGray"]Hast du die [COLOR="DarkSlateGray"]Grundlagen zur Fehlersuche[/color] gelesen? Hast du Code-Tags benutzt?
    Hast du als URL oder Domain-Beispiele example.com, example.net oder example.org benutzt?
    Super, danke!
    [/COLOR]

    Kommentar


    • #3
      Danke für deine Antwort, AmicaNoctis!

      Ich habe das mit der Opacity nicht gelesen - danke für den Link. Jedoch verstehe ich es trotzdem noch nicht ganz, weil auch wenn ich nur die Opacity meines DIVs auf 0 setze und dafür kein display:none oder visibilty:hidden verwende, kann ich es per fadeIn() nicht einfaden. Es passiert gar nichts.

      Verstehe ich es richtig, dass ich deiner Meinung nach nur per CSS die Opacity auf 0 setzen soll und dann sollte ein einfaches $('#div').fadeIn('500') reichen?

      Gut, selbst wenn das so funktioniert, hat sich diesbezüglich ein weiteres Problem aufgetan, an das ich nicht gedacht hatte: Wenn ich nur die Opacity verwende, besteht dieses Element ja auch, wenn ich die Opacity auf 0 setze - dadurch liegt z.B. ein unsichtbares Element über einem Link und dieser ist dann nicht mehr anklickbar. Da ich zum Teil mit per z-index übereinander gelegten Inhalten arbeite, hätte ich gerne folgende Funktionsweise:

      Ausgangszustand: nicht sichtbar, nicht anklickbar - einfach nicht vorhanden (dem entspricht wohl display:none). Nun sollte sich beim Einblenden Folgendes tun:
      1. vorhanden sein, aber nicht sichtbar.
      2. erst jetzt soll sich das Element einblenden, z.B. per fadeIn().

      Ich hätte es gerne so gelöst, sofern Javascript von oben nach unten die Befehle abarbeitet:

      Code:
      function ()
      {
        [div sichtbar machen, z.B. mittels display:block]
        [div einfaden]
      }
      Kannst du mir da einen Tipp geben, wie ich das hinbekomme?

      Danke!

      Kommentar

      Lädt...
      X