Hi,
aus einem Stylesheet auslesen: Coding: CSS-Regeln (& Stylesheets) auslesen & ändern
Aktuellen Wert auslesen:
// Ermittle Style eines Elements 060627
function getStyle(element,property) {
// Beim IE kann man (ueber currentStyle - IE5+) keine Eigenschaften
// abfragen, die kombinierte Werte enthalten (border, borderBottom, ...)
// Andererseits gibt es zu clip hier auch clipTop, clipRight, clipBottom & ClipLeft.
var result="";
obj=getObject(element);
if(obj) {
if(window.getComputedStyle) {
result=window.getComputedStyle(obj,"").getPropertyValue(property);
} else if(obj.currentStyle) {
result=obj.currentStyle[propertyToStyle(property)];
} else if(obj.style) {
result=obj.style[propertyToStyle(property)];
}
}
return result;
}
// Style-Schreibweise von CSS auf JS aendern
function propertyToStyle(property) {
// 1. Eigenschaften mit reserviertem Bezeichner: Unterscheidung nach JScript- bzw. JavaScript-Syntax
if(property=="float") { property=((typeof(window.cssFloat)=="undefined")?"style":"css")+property.charAt(0).toUpperCase()+property.substring(1); }
// 2. Eigenschaften mit Bindestrich
else if(property.indexOf("-")>=0) {
// CSS-Syntax am "-" auftrennen, ...
syntax=property.split("-");
// ... ersten Teil uebernehmen und ...
property=syntax[0];
// ... folgende Teile mit grossem Anfangsbuchstaben
for(i=1; i<syntax.length; i++) { property+=syntax[i].charAt(0).toUpperCase()+syntax[i].substring(1); }
}
return property;
}
// Ermittle Objekt (veraenderbare Prioritaet: object/id/name/tagname) 050708
function getObject(element,number) {
var obj=false, lastParam, type, types, i;
if(element) {
// Letzten, optionalen Parameter ermitteln (type)
lastParam=getObject.arguments[getObject.arguments.length-1];
// Erwuenschten Abfragetyp sichern: object/id/name/tagname (voreingestellte Typen und Reihenfolge der Abfrage)
type=(typeof(lastParam)=="string" && getObject.arguments.length>1)?lastParam.toLowerCase().replace(",","\/"):"object/id/name/tagname";
// Wenn element bereits Objekt ist und auch dieser Typ sein darf
if(typeof(element)=="object" && type.indexOf("object")>=0) { obj=element; }
else if(document.getElementById) {
number=(typeof(number)=="number")?number:0;
types=type.split("/");
for(i in types) {
if(types[i]=="id" && document.getElementById(element)) { obj=document.getElementById(element); break; }
else if(types[i]=="name" && document.getElementsByName(element) && document.getElementsByName(element)[number]) { obj=document.getElementsByName(element)[number]; break; }
else if(types[i]=="tagname" && document.getElementsByTagName(element) && document.getElementsByTagName(element)[number]) { obj=document.getElementsByTagName(element)[number]; break; }
}
}
}
return obj;
}
Gruß, Cybaer
--
Hinweis an Fragesteller: Fremde haben ihre Freizeit geopfert, um Dir zu helfen. Helfe Du auch im Archiv Suchenden: Beende deinen Thread mit einem "Hat geholfen" oder "Hat nicht geholfen"!
Hinweis an Fragesteller: Fremde haben ihre Freizeit geopfert, um Dir zu helfen. Helfe Du auch im Archiv Suchenden: Beende deinen Thread mit einem "Hat geholfen" oder "Hat nicht geholfen"!