Seite 1 von 2 12 LetzteLetzte
Ergebnis 1 bis 10 von 11

Thema: Variable Höhe in Variable

  1. #1
    Prinz(essin) Avatar von Alienx
    Registriert seit
    04.05.2007
    Ort
    Stuttgart
    Alter
    24
    Beiträge
    904
    Danke
    0
    Bekam 0 mal "Danke" in 0 Postings

    Standard Variable Höhe in Variable

    Ave,

    so nach einer knappen Stunde Googeln, Testen und Kopfzerbrechen stell ich notgedrungen meine Frage mal hier :

    Und zwar geht es um die variable Höhe eines Elementes (Bildes oder divs etc.), die ich auslesen und in einer Variable speichern möchte. Diese Variable soll später dazu benutzt werden, die Höhe zu verändern.

    Habe dazu mal folgendes Schema zum Verdeutlichen :

    HTML-Code:
    var Hoehe = document.NameDesElements.height
    function skalieren() {
    Hoehe++;
    document.NameDesElements.height = Hoehe;
    }
    Nun ist ja die Höhe variabel, also habe ich es mal mit offsetHeight versucht :

    HTML-Code:
    var Hoehe = document.all.NameDesElements.offsetHeight
    was aber dann auch nicht funktioniert hat.

    Wo liegt das Problem? Hat jemand eine Idee? Wäre wirklich sehr dankbar. (Is bestimmt wieder ´n was ganz simples, das ich übersehen hab ^^)

    MfG Alienx
    Achtung: Dies ist ein alter Thread im HTML und Webmaster Forum
    Diese Diskussion ist älter als 90 Tage. Die darin enthaltenen Informationen sind möglicherweise nicht mehr aktuell. Erstelle bitte zu deiner Frage ein neues Thema im Forum !!!!!


  2. #2
    Forum Guru
    Registriert seit
    13.01.2005
    Ort
    Schweiz
    Beiträge
    5.240
    Danke
    0
    Bekam 0 mal "Danke" in 0 Postings

    Standard AW: Variable Höhe in Variable

    Klar funktioniert das, du hast es sogar (fast) richtig gemacht Ich gehe aber davos aus (da du nicht den ganzen Code gepostet hast), dass du auf das Element zuzugreifen versuchst, bevor es überhaupt geladen ist. Warte also erstmal das window.onload ab, dann kannst du auf alle Elemente zugreifen.
    Also so:

    Code:
    window.onload = function ()
      {
      var height = document.element_name.offsetHeight;
      alert(height);
      }
    Die Höhe ändern würde ich dann aber mit der style Eigenschaft des Elements, denn das .height Attribut wird nur bei einem Bild funktionieren. Also so:

    Code:
    window.onload = function ()
      {
      var your_element = document.yourElement;
      var elem_height = your_element.offsetHeight;
      set_height(your_element, (elem_height+10));
      }
      
    function set_height (elem, new_height)
      {
      var new_height = parseInt(new_height);
      elem.style.height = new_height+'px';
      }
    Übrigens: document.all ist IE 4 Kram, braucht man nicht.

    Gruss
    Geändert von phore (23.05.2009 um 18:31 Uhr)

  3. #3
    Prinz(essin)
    Themenstarter
    Avatar von Alienx
    Registriert seit
    04.05.2007
    Ort
    Stuttgart
    Alter
    24
    Beiträge
    904
    Danke
    0
    Bekam 0 mal "Danke" in 0 Postings

    Standard AW: Variable Höhe in Variable

    Zitat Zitat von phore Beitrag anzeigen
    Klar funktioniert das, du hast es sogar (fast) richtig gemacht Ich gehe aber davos aus (da du nicht den ganzen Code gepostet hast), dass du auf das Element zuzugreifen versuchst, bevor es überhaupt geladen ist. Warte also erstmal das window.onload ab, dann kannst du auf alle Elemente zugreifen.
    Also so:

    Code:
    window.onload = function ()
      {
      var height = document.element_name.offsetHeight;
      alert(height);
      }
    Die Höhe ändern würde ich dann aber mit der style Eigenschaft des Elements, denn das .height Attribut wird nur bei einem Bild funktionieren. Also so:

    Code:
    window.onload = function ()
      {
      var your_element = document.yourElement;
      var elem_height = your_element.offsetHeight;
      set_height(your_element, (elem_height+10));
      }
      
    function set_height (elem, new_height)
      {
      var new_height = parseInt(new_height);
      elem.style.height = new_height+'px';
      }
    Übrigens: document.all ist IE 4 Kram, braucht man nicht.

    Gruss

    Hi,

    danke für die Hilfe. Wofür steht bei dir "elem"? Wurde ja nirgends als Variable initialisiert. Glaube daran haperts im Moment noch. Der Rest ist mir klar. Schonmal thx bis hierher.

    MfG Alienx


  4. #4
    Forum Guru
    Registriert seit
    13.01.2005
    Ort
    Schweiz
    Beiträge
    5.240
    Danke
    0
    Bekam 0 mal "Danke" in 0 Postings

    Standard AW: Variable Höhe in Variable

    Daran haperts nicht, elem ist eine Variable, sie wird aber nicht in der Funktion set_height() definiert, sondern im window.onload (var your_element). Sie wird dann als Übergabeparameter der Funktion set_height() mitgegeben, der sie dann somit auch hat (bei der Variable new_height ist es genau gleich). Lies mal etwas über Funktionen und wie man sie benutzt: http://de.selfhtml.org/javascript/sp...funktionen.htm

    Funktioniert denn das Script jetzt? Wenn nicht - post hier bitte mal deinen ganzen Code rein sonst kann ich dir schlecht weiterhelfen.

    P.S. - vermeide bitte direkt-Zitate, da niemand zwischen meinem und deinem Post gepostet hat, ist es ja klar auf welchen Post sich deine Antwort bezieht. Danke.
    Geändert von phore (23.05.2009 um 18:41 Uhr)

  5. #5
    Prinz(essin)
    Themenstarter
    Avatar von Alienx
    Registriert seit
    04.05.2007
    Ort
    Stuttgart
    Alter
    24
    Beiträge
    904
    Danke
    0
    Bekam 0 mal "Danke" in 0 Postings

    Standard AW: Variable Höhe in Variable

    Ave,

    mir ist schon klar, wie man Parameter an Funktionen übergibt, habe mich nur eben gewundert, wo denn nun elem herkommt, stand da eben aufm Schlauch, aber mir isses jetzt klar, sry.

    Nein, das Skript funktioniert nicht, weiß leider im Moment nicht, woran es liegt.

    Das Bild is da :

    HTML-Code:
    <img src="test.png" name="test alt="test" title="test" />
    Und der Code passt, habe ihn jetzt mal ganz im Urzustand gelassen und nur den Elementnamen angepasst :

    HTML-Code:
    window.onload = function () {
    var your_element = document.test;
    var elem_height = your_element.offsetHeight;
    set_height(your_element, (elem_height+10));
    }
    function set_height(elem, new_height) {
    var new_height = parseInt(new_height);
    elem.style.height = new_height+'px';
    }
    Und das ganze wird dann per onclick aufgerufen und das Pic müsste ja dann jedesmal um 10px vergrößert werden.

    Ich glaub, ich steht jetzt irgenwie voll auf´m Schlauch, sry. Weißt du, wo der Fehler liegt?

    Auch hier nochmal vielen Dank für die bisherige Hilfe.

    MfG Alienx


  6. #6
    Forum Guru
    Registriert seit
    13.01.2005
    Ort
    Schweiz
    Beiträge
    5.240
    Danke
    0
    Bekam 0 mal "Danke" in 0 Postings

    Standard AW: Variable Höhe in Variable

    Zitat Zitat von Alienx Beitrag anzeigen
    mir ist schon klar, wie man Parameter an Funktionen übergibt, habe mich nur eben gewundert, wo denn nun elem herkommt
    Offenbar eben nicht denn elem ist ja der Übergabeparameter. Egal.

    HTML-Code:
    <img src="test.png" name="test alt="test" title="test" />
    Der Fehler ist hier, nach name hast du " vergessen. Also richtig ist es so:

    HTML-Code:
    <img src="test.png" name="test" alt="test" title="test" />
    Da du aber die Originalhöhe nur einmal wissen musst, kannst du sie gleich beim onload in die style.height schreiben, dann bei jedem onclick nur noch mit style.height arbeiten. Beispiel:

    HTML-Code:
    <html>
    <head>
    <script type="text/javascript">
      window.onload = function ()
        {
        the_image = document.meinBild;
        the_image.style.height = the_image.offsetHeight+'px';
        }
        
      function enlarge_image (ratio)
        {
        the_image.style.height = (parseInt(the_image.style.height)+parseInt(ratio))+px;
        }
    </script>
    </head>
    <body>
    <a href="#" onclick="enlarge_image(10);">vergr&ouml;ssern</a>
    
    <img src="http://www.bildvoneineranderendomain.com" name="meinBild" />
    </body>
    </html>
    Das Bild wird aber scheisse aussehen je grösser es wird, denn es werden nur die Pixel vergrössert, das Bild wird dann pixelig und unscharf wenn gross wird.

  7. #7
    Prinz(essin)
    Themenstarter
    Avatar von Alienx
    Registriert seit
    04.05.2007
    Ort
    Stuttgart
    Alter
    24
    Beiträge
    904
    Danke
    0
    Bekam 0 mal "Danke" in 0 Postings

    Standard AW: Variable Höhe in Variable

    Ave,

    bei dem Namen, das passt schon, im original Skript ist ist das Anführungszeichen drin, hab ich nur hier beim schnellen Tippen vergessen.

    Das neue Skript funzt leider auch nicht. Werd mich später nochmal drüber setzen oder mir ggf. noch ne andere Lösung überlegen.

    Ich sagte ja bereits oben, dass mir die Parametersache durchaus klar ist und ich nur schlampig gelesen habe - aber egal.

    Dass ein Bild mit der Zeit verzerrt ist mir klar, dafür gibbet dann später ne Abfrage, die die Funktion nur bis zu einer gewissen Größe zulässt. Habe es vorläufig mal mit ner festen Höhe geregelt. Aber wie gesagt, werde mir noch was neues überlegen.

    Auf jeden Fall bedanke ich mich für die Hilfe, hast mir nen guten Denkanstoß gegeben.

    MfG Alienx


  8. #8
    Forum Guru Avatar von synaptic
    Registriert seit
    20.06.2007
    Ort
    Butzbach-Wiesental
    Beiträge
    10.901
    Danke
    45
    Bekam 48 mal "Danke" in 46 Postings
    Blog-Einträge
    1

    Standard AW: Variable Höhe in Variable

    also ich rate prinzipiell dazu mit document.getElementById() zu arbeiten und wenn es um styles geht auch das style-attribut zu setzen...
    KEIN support via pn, email, messenger oder falsch geposteten threads
    Futter für deine Schnuffelzwerge gibts bei den Schnuffelzwergen TOP Qualität, also klicken und kaufen

  9. #9
    Forum Guru
    Registriert seit
    13.01.2005
    Ort
    Schweiz
    Beiträge
    5.240
    Danke
    0
    Bekam 0 mal "Danke" in 0 Postings

    Standard AW: Variable Höhe in Variable

    Zitat Zitat von synaptic Beitrag anzeigen
    also ich rate prinzipiell dazu mit document.getElementById() zu arbeiten und wenn es um styles geht auch das style-attribut zu setzen...
    Warum den ganzen DOM-tree nochmal durchsuchen wenn man auch direkt auf das Element zugreifen kann? getElementById() sollte nur verwendet werden wenn es entweder nicht anders geht oder wenns wirklich Sinn macht.

    Das style Attribut ist gesetzt, auch wenn du es nicht explizit im HTML setzst. Entweder ist es leer, oder es sind computed styles, die das Element vom parent-Element erbt. Zudem kannst du genau so gut das style Attribut über JS setzen als mit HTML. Der einzige Fall wo du das style Element mit HTML zu setzen brauchst, ist wenn du mit einem der style Werte rechnen willst*. Das ist zwar hier der Fall, aber da die Höhe Variabel ist, müssen wir sie sowieso manuell mit JS setzen.
    * auch da könnte man mit JS, crossbrowser, den gerechneten Wert auslesen.

    @Alienx - wenn du mir nicht die ganze Datei zeigst (damit ich sehen kann, wie es eingebunden ist) oder zumindest den Javascript Fehler sagst, kann ich dir nicht weiterhelfen.
    Geändert von phore (23.05.2009 um 20:12 Uhr)

  10. #10
    Forum Guru Avatar von synaptic
    Registriert seit
    20.06.2007
    Ort
    Butzbach-Wiesental
    Beiträge
    10.901
    Danke
    45
    Bekam 48 mal "Danke" in 46 Postings
    Blog-Einträge
    1

    Standard AW: Variable Höhe in Variable

    also für mich is es was anderes ob da ein height-attribut genutzt wird oder ob man ein style-attribut benutzt und dort entsprechende styles reinschreibt
    und das document.getElementById() ist imo crossbrowsertauglich und man kann damit prima vielen fallstricken aus dem weg gehen wenn es darum geht nen script zu schreiben, was in allen gängen browsern funzen soll...
    KEIN support via pn, email, messenger oder falsch geposteten threads
    Futter für deine Schnuffelzwerge gibts bei den Schnuffelzwergen TOP Qualität, also klicken und kaufen

Ähnliche Themen

  1. PHP variable Variable in Funktion
    Von Arno654 im Forum PHP Forum - Apache - CGI - Perl - JavaScript und Co.
    Antworten: 5
    Letzter Beitrag: 25.03.2009, 10:47
  2. Variable höhe und Zentrierung von Divs
    Von Insanctus im Forum HTML & CSS Forum
    Antworten: 3
    Letzter Beitrag: 03.09.2007, 00:33
  3. Wie bekomme ich ein eine Variable eine Post variable?
    Von Gigazone im Forum PHP Forum - Apache - CGI - Perl - JavaScript und Co.
    Antworten: 7
    Letzter Beitrag: 27.05.2006, 16:41
  4. Variable?
    Von Raccoon im Forum Forum-Hilfe.de intern
    Antworten: 2
    Letzter Beitrag: 20.04.2006, 09:03
  5. Text-Zahl in Variable in Integer-Zahl in Variable umformen
    Von Steven im Forum HTML & CSS Forum
    Antworten: 8
    Letzter Beitrag: 13.06.2005, 13:30

Stichworte

Berechtigungen

  • Neue Themen erstellen: Nein
  • Themen beantworten: Nein
  • Anhänge hochladen: Nein
  • Beiträge bearbeiten: Nein
  •