Substringbefehl gesucht, bzw. kleine Hilfe
Kai
- javascript
0
Gunnar Bittersmann
0 globe
document.getElementById("divid").style.width = "42px"
es geht darum, daß ich gerne die 42px vom px befreien möchte und umgekehrt. In PhP heißt der Befehl Substr()
Ich möchte also die ersten beiden Zahlen von document.getElementById("divid").style.width.
etwa so: var breite = substr(document.getElementById("divid").style.width, 2);
aber leider kenne ich mich in Javascript nicht aus un den Befehl finde ich leider auch nicht.
Dann brauche ich einen Befehl, der das ganze wieder zusammensetzt
document.getElementById("divid").style.width = varbreite + "px";
UND ich benötige die Möglichkeit folgendes zu tun:
document.[testvariable].style.width="42px";
wobei testvariable den Namen des Layers beinhaltet. Ich suche also den Befehl in Javascript um den "Inhalt" in den Quelltext zu bringen.
Vielen Dank dafür !!!!
MfG Kai :-)
PS: hoffe Ihr könnt helfen..
Hello out there!
document.getElementById("divid").style.width = "42px"
es geht darum, daß ich gerne die 42px vom px befreien möchte
http://de.selfhtml.org/javascript/objekte/unabhaengig.htm#parse_float@title=parseFloat()
In PhP heißt der Befehl Substr()
Ich möchte also die ersten beiden Zahlen von document.getElementById("divid").style.width.
Da ist doch nur eine Zahl: 42. Du meintest die beiden Ziffern? Und wenn’s mehr als zwei sind? Deshalb ist mit substr() (was es in JavaScript auch gibt) kein Blumentopf zu gewinnen.
Dann brauche ich einen Befehl, der das ganze wieder zusammensetzt
document.getElementById("divid").style.width = varbreite + "px";
?? Genau den hast du doch schon.
UND ich benötige die Möglichkeit folgendes zu tun:
document.[testvariable].style.width="42px";
wobei testvariable den Namen des Layers beinhaltet.
?? Genau die hast du doch schon: getElementById()
getElementsByName() kannst du nicht meinen, da 'div'-Elemente (die meinst du wohl mit „Layer“?) keine 'name'-Attribute haben dürfen.
See ya up the road,
Gunnar
n'abend,
http://de.selfhtml.org/javascript/objekte/unabhaengig.htm#parse_float@title=parseFloat()
ich würde ja behaupten, dass Pixelwerte ganzzahlig sind, also eher parseInt() zu verwenden ist.
Da ist doch nur eine Zahl: 42. Du meintest die beiden Ziffern? Und wenn’s mehr als zwei sind? Deshalb ist mit substr() (was es in JavaScript auch gibt) kein Blumentopf zu gewinnen.
var str = "12345px";
var anz = str.substr(0, str.length -2);
weiterhin schönen abend...
n'abend,
ich würde ja behaupten, dass Pixelwerte ganzzahlig sind, also eher parseInt() zu verwenden ist.
die Klugscheisserei limitiert sich auf px. "1.23em" ist in CSS ja ein durchaus zulässiger Wert.
weiterhin schönen abend...
Hello out there!
ich würde ja behaupten, dass Pixelwerte ganzzahlig sind,
Den Beweis bleibst du schuldig. Im Übrigen ist die Behauptung auch falsch ...
die Klugscheisserei limitiert sich auf px. "1.23em" ist in CSS ja ein durchaus zulässiger Wert.
... auch "42.1px" ist in CSS ein durchaus zulässiger Wert.
„Das Format eines Längenwertes (in dieser Spezifikation durch <length> gekennzeichnet) ist ein optionales Vorzeichen ('+' oder '-', wobei '+' den Standardwert darstellt), unmittelbar gefolgt von einer <number> (mit oder ohne Dezimalpunkt), unmittelbar gefolgt von einem Einheitenbezeichner (z.B. px, deg usw.).“ [CSS2 §4.3.2]
Außerdem gibt es andere Einheiten als solche, die aus 2 Zeichen bestehen. Dann wird substr() problematisch.
See ya up the road,
Gunnar
Hallo,
document.getElementById("divid").style.width = "42px"
es geht darum, daß ich gerne die 42px vom px befreien möchtehttp://de.selfhtml.org/javascript/objekte/unabhaengig.htm#parse_float@title=parseFloat()
Ja, wenn man auf Drogen ist, kann man auch 12.45px schreiben. In allen restlichen Fällen will man aber mit ganzzahligen Pixelwerten arbeiten, da bietet parseFloat() eher unangenehme Überraschungen. Ich sehe keinen Grund, wieso man hier parseFloat() empfehlen sollte - hat jemand irgendwo eine krumme px-Zahl, ist das wohl meist ein Fehler als Absicht.
Mathias
Ja, wenn man auf Drogen ist, kann man auch 12.45px schreiben. In allen restlichen Fällen will man aber mit ganzzahligen Pixelwerten arbeiten, da bietet parseFloat() eher unangenehme Überraschungen. Ich sehe keinen Grund, wieso man hier parseFloat() empfehlen sollte - hat jemand irgendwo eine krumme px-Zahl, ist das wohl meist ein Fehler als Absicht.
Ich halte das für einen normale Sache, um eine Geschwindigkeitsänderung zu simulieren arbeite ich oft mit krummen Pixelwerten (wobei ich diese dann aber in der Regel in eine separate Variabel packe).
Struppi.
n'abend,
etwa so: var breite = substr(document.getElementById("divid").style.width, 2);
du suchst String.substr().
Dann brauche ich einen Befehl, der das ganze wieder zusammensetzt
document.getElementById("divid").style.width = varbreite + "px";
Den "Concatenation-Operator" hast du ja bereits gefunden. Gibts da noch ein Problem?
document.[testvariable].style.width="42px";
wobei testvariable den Namen des Layers beinhaltet. Ich suche also den Befehl in Javascript um den "Inhalt" in den Quelltext zu bringen.
document.getElementById() und die 2 darauf folgenden getElementByName() und getElementsByTagName() solltest du mal kurz durchlesen.
weiterhin schönen abend...