CSS-Manipulation

LavaVisualizer

Grünschnabel
Guten Tag,
Ich habe mir eine kleine, noch unvollständige JavaScript funktion geschrieben:

HTML:
<script type="text/javascript">
  function automator(id) {
  element = document.getElementById(id);

  animator_width = element.style.width;
  animator_border_left = element.style.borderLeftWidth;

  animator_full_width = animator_width + animator_border_left;
  element.innerHTML = animator_full_width;
  }
</script>

Diese Funktion soll mit die CSS Eigenschaften width und padding-left des zu behandelnden DIV's auslesen, dann zusammenrechnen und als neue Variable zur vefügung stellen.

Das erste Problem ist nun, das die Eigenschaften zwar ausgelesen werden, allerdings immer mit den einheiten .. also immer mit px dahinter, so kann man natürlich nichts zusammenrechnen - Es wird dann halt eine neue zeichenkette gebildet.

Das zwite Problem ist, dass ich die Eigenschaften nur auslesen kann, wenn ich die Styleangaben direkt im DIV Tag vornehme <div style ="...">, wenn ich das in eine externe CSS Datei auslagere oder im Dokument selber über <style type="text/css"> einfüge findes mein Script die CSS Attribute nicht.

HTML:
<body onload="automator('animator');">
 <div style="border: 4px solid #000; width: 400px; margin: 0px; padding: 5px;" id="animator">
 x
 </div>
</body>
Ich bin noch ein ziemlicher JS anfänger, könnt ihr mir da mal unter die Arme greifen?

Ich Danke euch, LV
 
Zuletzt bearbeitet:
Problem eins wirst du nur damit umgehen können, indem du die Werte mit derselben Einheit zusammenrechnest. Denn „1px“ ist mit „1em“ nicht gleichzusetzen. Wenn die Einheiten jedoch alle gleich sind, kannst du dir das auch sparen.
Was das zweite Problem betrifft, könntest du die DOM-Methode getComputedStyle() benutzen.
 

Neue Beiträge

Zurück