tutorials.de Buch-Aktion 05/2012
Like Tree2Danke
  • 2 Beitrag von spicelab
ERLEDIGT
NEIN
ANTWORTEN
4
ZUGRIFFE
818
EMPFEHLEN
  • An Twitter übertragen
  • An Facebook übertragen
AUF DIESES THEMA
ANTWORTEN
  1. #1
    Avatar von Fabian Frank
    Fabian Frank Fabian Frank ist offline Mitglied Brokat
    Registriert seit
    Oct 2005
    Beiträge
    288
    Hai,

    ich habe neulich eine Skript-Demo entdeckt mit einer Lightbox, in der das Inhaltsdiv, in dem das Foto angezeigt wird nach unten, ich nenns mal, "aufscrollt". Die Sache ist nur die, wenn ich das für mehrere Fotos verwenden will (hab kein Zugriff auf das eigentliche Skript, da Lizenz...), die unterschiedliche Höhen besitzen, würde das ja bedeuten, dass ich das Div auf Height: auto; setze, was wiederum zu Folge hat, dass ich dieses Scrollen nicht realisieren kann, da ich ja kein Limit (beispielsweise bei einer rekursiven Funktion) setzen kann, da ich die eigentliche Höhe nicht kenne.
    Ein Lösungsansatz von mir wäre, die Höhe des Bildes zu ermitteln und zu den ganzen Padding-Sachen des Divs zu addieren. (Wobei ich ehrlich gesagt nicht weiß, wie ich die Höhe ermitteln sollte, wenn nicht gleich beim Upload des Fotos in eine DB eingetragen).

    Hat jemand eine bessere Idee dazu ?

    Ich danke euch,

    Fabi
     

  2. #2
    Avatar von Sven Mintel
    Sven Mintel Sven Mintel ist offline Mitglied
    Registriert seit
    Aug 2003
    Beiträge
    18.238
    Blog-Einträge
    6
    Moin,

    Bei einem Bild, das fertig geladen ist, kannst du, sofern du seine angezeigte Grösse nicht durch eigene Angaben geändert hast, über die Eigenschaften width+height die tatsächlichen Abmessungen des Bildes ermitteln.
     

  3. #3
    Avatar von Fabian Frank
    Fabian Frank Fabian Frank ist offline Mitglied Brokat
    Registriert seit
    Oct 2005
    Beiträge
    288
    okay, aber wie würde es aussehen, wenn ich jetzt nur Text in diesem Div habe ?
    Gibt es denn keine Möglichkeit, die Height:auto; nicht auszulesen in dem Sinne, aber quasi eine rekursive Funktion solange sich wiederholen zu lassen, nach dem Motto

    Code :
    1
    
    while (curentheight < document.getElementById('blabla').style.height[I].auto[/I]) ...

    Es muss doch irgendwie möglich sein, ein durch Höhe nicht festgelegtes Div nach unten aufscrollen zu lassen ?!

    Ciaosen!
     

  4. #4
    Avatar von spicelab
    spicelab spicelab ist offline ZENmechanic
    Registriert seit
    Feb 2010
    Beiträge
    1.744
    Zitat Zitat von Fabian Frank Beitrag anzeigen
    okay, aber wie würde es aussehen, wenn ich jetzt nur Text in diesem Div habe ?
    offsetHeight ermittelt die Höhe eines Objekts.

    Aber sprachst du nicht eingangs von Bildern mit unterschiedlichen Höhen?

    #edit

    Der beschriebene Effekt zielt wohl in Richtung http://api.jquery.com/slideDown/ ab.

    Das erste Beispiel daraus funktioniert gleichermaßen ohne die Höhenangabe, wenn im Gegenzug die Objekte Inhalt besitzen (hier: unterschiedliche Anzahl von <p>-Elementen).
    HTML-Code:
    <!DOCTYPE html>
    <html>
    <head>
      <style>
    div { background:#de9a44; margin:3px; width:80px; 
    /*height:40px;*/ display:none; float:left; }
    </style>
      <script src="http://code.jquery.com/jquery-latest.min.js"></script>
    </head>
    <body>
    	Click me!
    <div><p>foobar</p></div>
    <div><p>foobar</p><p>foobar</p></div>
    <div><p>foobar</p><p>foobar</p><p>foobar</p></div>
    <script>
    $(document.body).click(function () {
    if ($("div:first").is(":hidden")) {
    $("div").slideDown("slow");
    } else {
    $("div").hide();
    }
    });
    
    </script>
    
    </body>
    </html>
    Geändert von spicelab (07.08.10 um 21:55 Uhr) Grund: Nachtrag
    Sven Mintel und Fabian Frank bedanken sich. 

  5. #5
    Avatar von Fabian Frank
    Fabian Frank Fabian Frank ist offline Mitglied Brokat
    Registriert seit
    Oct 2005
    Beiträge
    288
    Ja, sprach ich. Entschuldigt, ich hab vergessen zu erwähnen, dass ich das nicht nur auf Bilder anwenden möchte (im Hinterkopf hatte ich eben diese Lightbox...).

    offsetHeight ist denke ich das, was ich brauche. Ich bin kein Fan von Bibliotheken, jedoch wäre jquery-api noch eine Alternativlösung.

    Danke für eure Hilfe.
     

Ähnliche Themen

  1. jQuery gibt mir im IE bei Width bzw. Height "auto" zurück
    Von Thopeto im Forum Javascript & Ajax
    Antworten: 11
    Letzter Beitrag: 19.06.10, 20:09
  2. Div 100% height style probleme
    Von mardusi im Forum CSS
    Antworten: 16
    Letzter Beitrag: 26.10.07, 19:41
  3. Antworten: 2
    Letzter Beitrag: 15.08.07, 13:04
  4. auto richtig fahren lassen cinema 4d
    Von romano im Forum Cinema 4D
    Antworten: 1
    Letzter Beitrag: 03.04.07, 11:50
  5. iFrame height="auto" geht nicht
    Von DaRealMC im Forum HTML & XHTML
    Antworten: 5
    Letzter Beitrag: 30.12.05, 20:25

Stichworte