Teil von SELFHTML Forum Teil von SELFHTML Forumsarchiv Teil von 2008 Teil von Februar

SELFHTML Forumsarchiv
Zugriff auf CSS Attribut "background-position" nicht möglich

Informationsseite
  1. Seite (JAVASCRIPT) Zugriff auf CSS Attribut "background-position" nicht möglich von Jan, 29. 02. 2008, 16:36
nach unten

Zugriff auf CSS Attribut "background-position" nicht möglich

Die folgende Nachricht zum Thema stammt von: Jan, 29. 02. 2008, 16:36

Hallo,

kann man per Javascript das Attribut Background-position eines Divs auslesen, wenn dieses nicht im styles-Tag des Html-Elementes definiert ist?

Hier ein Bsp. welches das Problem verdeutlicht. Die Ausgabe ist in allen getesteten Browsern (IE6, IE7, FF und Opera) für das Div test1 ""(leerer String) und für das Div2 test2 "center bottom".

Ich finde in den Dokumentation nichts, was dieses Verhalten erklärt.

<html>
<head>

 <script type="text/javascript">
  function test() {
   alert(document.getElementById('test1').style.backgroundPosition);
   alert(document.getElementById('test2').style.backgroundPosition);
  }
 </script>

 <style type="text/css">
  div#test1 { background-position: center bottom; }
 </style>

</head>
<body onload="test()">
  <div id="test1" >test 1</div>
  <div id="test2" style="background-position: center bottom;">test 2</div>
</body>
</html>

nach obennach unten

Zugriff auf CSS Attribut "background-position" nicht möglich

Die folgende Nachricht zum Thema stammt von: steckl, 29. 02. 2008, 17:03

Hi,

»» kann man per Javascript das Attribut Background-position eines Divs auslesen, wenn dieses nicht im styles-Tag des Html-Elementes definiert ist?

Versuchs mal mit getStyle().

mfG,
steckl

nach obennach unten

Zugriff auf CSS Attribut "background-position" nicht möglich

Die folgende Nachricht zum Thema stammt von: Jan, 03. 03. 2008, 10:01

Hi,

danke für deine Antwort. Leider funktioniert das Auslesen auch mit der Funktion nicht. Im IE und im FF sind die ausgelesenen Werte immer noch undefiniert.

Hier der Quellcode zum Testen:

<html>
<head>

 <script type="text/javascript">
  function test() {
   alert(document.getElementById('test1').style.backgroundPosition);
   alert(document.getElementById('test2').style.backgroundPosition);
   alert(getStyle(document.getElementById("test1"), "background-position"));
  }

  function getStyle(oElm, strCssRule){
   var strValue = "";
   if(document.defaultView && document.defaultView.getComputedStyle){
    strValue = document.defaultView.getComputedStyle(oElm, "").getPropertyValue(strCssRule);
   }
   else if(oElm.currentStyle){
    strCssRule = strCssRule.replace(/\-(\w)/g, function (strMatch, p1){
     return p1.toUpperCase();
    });
    strValue = oElm.currentStyle[strCssRule];
   }
   return strValue;
  }

 </script>

 <style type="text/css">
  #test1 { background-position: center bottom; }
 </style>

</head>
<body onload="test()">
  <div id="test1" >test 1</div>
  <div id="test2" style="background-position: center bottom;">test 2</div>
</body>
</html>


»» Hi,
»»
»» »» kann man per Javascript das Attribut Background-position eines Divs auslesen, wenn dieses nicht im styles-Tag des Html-Elementes definiert ist?
»»
»» Versuchs mal mit getStyle().
»»
»» mfG,
»» steckl

nach obennach unten

Zugriff auf CSS Attribut "background-position" nicht möglich

Die folgende Nachricht zum Thema stammt von: plan_B, 03. 03. 2008, 10:43

Hallo,

»» ... Leider funktioniert das Auslesen auch mit der Funktion nicht. Im IE und im FF sind die ausgelesenen Werte immer noch undefiniert.

möglicherweise hast du die Funktion falsch angewendet und nicht die richtigen Argumente übergeben ...

Gruß plan_B
--
     *®*´¯`·.¸¸.·

nach obennach unten

Zugriff auf CSS Attribut "background-position" nicht möglich

Die folgende Nachricht zum Thema stammt von: plan_B, 03. 03. 2008, 11:45

»» möglicherweise hast du die Funktion falsch angewendet und nicht die richtigen Argumente übergeben ...

sorry, sehe erst jetzt, dass du getStyle() vollkommen richtig angewendet hast. Aber ein background-image hast du noch nicht definiert. Dann ist die Positionsangabe allein nicht sinnvoll.

Gruß plan_B
--
     *®*´¯`·.¸¸.·

nach obennach unten

Zugriff auf CSS Attribut "background-position" nicht möglich

Die folgende Nachricht zum Thema stammt von: Jan, 04. 03. 2008, 11:13

Hallo,

auch das ändert leider nichts an dem Problem.

Hier der angepasste Quellcode (inkl. background-image):

<html>
<head>

 <script type="text/javascript">
  function test() {
   alert(document.getElementById('test1').style.backgroundPosition);
   alert(document.getElementById('test2').style.backgroundPosition);
   alert(getStyle(document.getElementById("test1"), "background-position"));
  }

  function getStyle(oElm, strCssRule){
   var strValue = "";
   if(document.defaultView && document.defaultView.getComputedStyle){
    strValue = document.defaultView.getComputedStyle(oElm, "").getPropertyValue(strCssRule);
   }
   else if(oElm.currentStyle){
    strCssRule = strCssRule.replace(/\-(\w)/g, function (strMatch, p1){
     return p1.toUpperCase();
    });
    strValue = oElm.currentStyle[strCssRule];
   }
   return strValue;
  }

 </script>

 <style type="text/css">
  #test1 {
   background-position: center bottom;
   background-image: url(img/body_background.jpg);
  }
 </style>

</head>
<body onload="test()">
  <div id="test1" >test 1</div>
  <div id="test2" style="background-position: center bottom; background-image: url(img/body_background.jpg);">test 2</div>
</body>
</html>

»» »» möglicherweise hast du die Funktion falsch angewendet und nicht die richtigen Argumente übergeben ...
»»
»» sorry, sehe erst jetzt, dass du getStyle() vollkommen richtig angewendet hast. Aber ein background-image hast du noch nicht definiert. Dann ist die Positionsangabe allein nicht sinnvoll.
»»
»» Gruß plan_B

nach obennach unten

Zugriff auf CSS Attribut "background-position" nicht möglich

Die folgende Nachricht zum Thema stammt von: plan_B, 03. 03. 2008, 15:45

Hallo,

»» Leider funktioniert das Auslesen auch mit der Funktion nicht. Im IE und im FF sind die ausgelesenen Werte immer noch undefiniert.

scheinbar lässt sich nicht jede Style-Eigenschaft mit jedem Browser auslesen:
background-color schafft wohl jeder
und background-position bei mir nur Opera

Gruß plan_B
--
     *®*´¯`·.¸¸.·

nach oben
Teil von SELFHTML Forum Teil von SELFHTML Forumsarchiv Teil von 2008 Teil von Februar

© 1998-2006 Seite Impressum, Software: Classic Forum