javascript - externes Stylesheet

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

  • javascript - externes Stylesheet

    Hallo!
    Ich muss mir mittels Javascript die Breite bzw. Höhe eines Bildes auslesen. Die Css Eigenschaften sind in einem externen Stylesheet (home.css)

    Die Css-definition:
    #TeaserPicture
    {
    position:absolute;
    bottom:0px;
    left:0px;
    margin:0;
    z-index:500;
    width:100px;
    }

    Ich habe es mit
    alert(this.Picture.style.width);
    probiert, aber ich erhalte nur eine leere ausgabe.

  • #2
    mach dich über die funktion getElementById schlau.
    MfG
    aim
    Lies mich jetzt!
    - OT-Tags-Liebhaber und BB-Code-Einrücker -

    Kommentar


    • #3
      this.Picture hält bereits eine Referenz auf das Bild
      (this.Picture = document.getElementById(this.PictureID); habe ich einige Zeilen zuvor notiert)
      Es functioniert auch, wenn ich die CSS-Eigenschaft im img-tag notiere. Also so:
      <img src="Images/Home/Teaser/PeopleSmiling.png" alt="" id="TeaserPicture" style="width:271px;height:241px" />

      Wenn ich die Breite und die Höhe allerdings im #TeaserPicture notiere, so funktioniert es nicht.

      Kommentar


      • #4
        Die Stylesheet-Daten liegen bei externen CSS-Dateien auch nicht direkt an den Objekten, so dass du per JS drauf zugreifen kannst. Darum arbeiten die prototype-Funktionen wie show() und hide() auch nur korrekt, wenn der display-Stil direkt am Objekt definiert wurde.
        Ausweg: Würde mich auch interessieren...!

        Kommentar


        • #5
          Original geschrieben von nobody2

          Es functioniert auch, wenn ich die CSS-Eigenschaft im img-tag notiere. Also so:
          <img src="Images/Home/Teaser/PeopleSmiling.png" alt="" id="TeaserPicture" style="width:271px;height:241px" />

          Wenn ich die Breite und die Höhe allerdings im #TeaserPicture notiere, so funktioniert es nicht.
          Yepp. Alles was du in dem Section <style type="text/css"> ... </style> (oder in externen CSS-Datei) definiert hast, kannst du nicht auslesen.

          Kommentar


          • #6
            offsetWidth + offsetHeight

            Für allgemeine Anwendung:
            Code:
            function getStyle(el,styleProp) {
              if (el.currentStyle)
                return el.currentStyle[styleProp];
              else if (window.getComputedStyle)
                return document.defaultView.getComputedStyle(el,null).getPropertyValue(styleProp);
              else
                return el.style.getAttribute(styleProp,false);
            }
            Zuletzt geändert von onemorenerd; 05.11.2007, 00:16.

            Kommentar


            • #7
              Original geschrieben von asp2php
              Yepp. Alles was du in dem Section <style type="text/css"> ... </style> (oder in externen CSS-Datei) definiert hast, kannst du nicht auslesen.
              doch, soll so gehen:
              PHP-Code:
              document.styleSheets[x].cssRules[x]
              //bzw. ie
              document.styleSheets[x].rules[x
              gruß
              peter
              Nukular, das Wort ist N-u-k-u-l-a-r (Homer Simpson)
              Meine Seite

              Kommentar

              Lädt...
              X