ERLEDIGT
JA
JA
ANTWORTEN
2
2
ZUGRIFFE
404
404
EMPFEHLEN
-
Hallo,
ich möchte eine Bildergalerie auf meiner Homepage in valides Xhtml und css umschreiben und deshalb die style-Attribute aus dem Code in Css-Selectoren packen.
ich habe folgende Javascriptfunktionen:
davor wir das Style-Element dynamisch erstellt:Code :1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40
*Funktion zum Einfuegen einer CSS Regel>>>>*/ function cssEinf (styleS,selector, wert, index) { if(document.styleSheets[0].cssRules) { styleS.insertRule(selector+"{"+wert+"}",index); } else if(document.styleSheets[0].rules) { styleS.addRule(selector,wert,index); } } /*Function zum hinzufuegen / aendern einer Eigenschaft>>>>>*/ function cssAe (styleS,index) { var argumenteAz = arguments.length; if(document.styleSheets[0].cssRules) { var regel = styleS.cssRules[index]; var eigenschaft; for(var arg = 2; arg<argumenteAz; arg+=2) { eigenschaft = arguments[arg]; regel.style.eigenschaft = arguments[arg+1]; alert(eigenschaft+ regel.style.eigenschaft); } } else if(document.styleSheets[0].rules) { var regel = styleS.rules[index]; var eigenschaft; for(var arg = 2; arg<argumenteAz; arg+=2) { eigenschaft = arguments[arg]; regel.style.eigenschaft = arguments[arg+1]; } } }
Die Variablen index... werden vorher global definiert.Code :1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17
/*-----Style Element erstellen>>>>>*/ var myStyleE = document.createElement("style"); myStyleE.setAttribute("type","text/css"); document.getElementsByTagName("head")[0].appendChild(myStyleE); /*<<<<<Style Element erstellen-----*/ /*-----Style Element auswaehlen>>>>*/ var styles = document.styleSheets.length; myStyle = document.styleSheets[styles-1]; /*<<<<<Style Element auswaehlen----*/ /*-----Style Anweisungen schreiben>>>>>*/ cssEinf(myStyle,"#bild","",indexBild); cssEinf(myStyle,"#wgtext","",indexWgText); cssEinf(myStyle,"#schliessenImg","",indexSchliessenImg); cssEinf(myStyle,"#weiterBild","",indexWeiterBild); cssEinf(myStyle,"#zureueckBild","",indexZurueckBild); cssEinf(myStyle,"#bilderzahl","",indexBilderzahl); /*<<<<<Style Anweisungen schreiben-----*/
die Funktionen rufe ich so auf:
Code :1
cssAe(myStyle,indexBild,"position","absolute","left",Math.round(((fensterbreite-breiteaz)/2)-20)+"px","top",Math.round((fensterhoehe-hoeheaz)/2)+"px");
Ich habe mir das ganze im Firefox mit Firebug betrachtet, die Regel #bild existiert, aber die Eigenschaften und werte sind nicht eingetragen, die Regel ist also leer.
Wenn ich die Zeileder Funktion cssAe z.B. inCode :1
regel.style.eigenschaft = arguments[arg+1];
ändere, wird diese Zuweisung auch von Firefox erkannt, d.h die Regel #bild ist nicht mehr leer.Code :1
regel.style.margin = arguments[arg+1];
Woran liegt das, bzw. wie kann ich das ändern?
Gruß
-André-
-
19.02.09 16:15 #2
- Registriert seit
- Dec 2007
- Ort
- Bremen
- Beiträge
- 3.418
Hi,
Ohne jetzt den Sinn dahinter so richtig verstanden zu haben (soll das onload bei Aufruf der Galerie laufen?):
Mitversuchst Du die CSS-Eigenschaft "eigenschaft" zu ändern, die es natürlich nicht gibt. Versuch es mal so:Code :1
regel.style.eigenschaft = ...;
Code :1
regel.style[eigenschaft] = ...;
LGDa es nötig zu werden scheint: Ich leiste hier keinen Support über PN. Stellt Rückfragen zu Euren Problemen bitte in Eurem Thread, dann können alle helfen.
-
Danke, mit
klappt das jetzt.Code :1
regel.style[eigenschaft]
Gruß
-André-
Ähnliche Themen
-
Komisches verhalten zwischen style.left und style.width
Von one6666 im Forum Javascript & AjaxAntworten: 4Letzter Beitrag: 07.04.10, 11:59 -
js style Problem
Von mmhhh im Forum Javascript & AjaxAntworten: 5Letzter Beitrag: 07.04.09, 13:26 -
Problem mit XP Style
Von vb_user im Forum .NET Windows FormsAntworten: 2Letzter Beitrag: 04.03.06, 22:31 -
Style switch problem
Von uran im Forum Javascript & AjaxAntworten: 3Letzter Beitrag: 14.02.06, 11:45 -
style problem bei IE
Von Serethos im Forum Javascript & AjaxAntworten: 8Letzter Beitrag: 10.08.05, 14:15





Zitieren

Login





