ERLEDIGT
JA
JA
ANTWORTEN
5
5
ZUGRIFFE
211
211
EMPFEHLEN
-
Hallo,
kann ich folgenden Code optimieren?
Also kann man diese Style-Angaben irgendwie zusammenfassen? Danke schonmal im voraus für eine hilfreiche Antwort.HTML-Code:canvas.style.border = '0'; canvas.style.width = '100%'; canvas.style.height = '100%'; canvas.style.top = '0'; canvas.style.left = '0'; canvas.style.bottom = '0'; canvas.style.right = '0';
-
Hi,
ich bin mir ziemlich sicher das das nicht kürzer geht.
Außerdem kommt es doch im Web eher darauf an alles so zu formulieren das es jeder Browser versteht und nicht möglicht kurze, effiziente Codes zu schreiben!?
Die Ladezeit und den Aufwand fürs Ausführen sind bei den paar Zeilen doch wirklich zu vernachlässigen, oder was ist der Grund?
-
Hi,
folgendes Codefragment ist zwar nicht kürzer, läßt sich jedoch meiner Meinung nach bequemer pflegen.
Die CSS-Eigenschaften müssen in camelcase-Schreibweise angegeben werden (siehe borderRight).Code :1 2 3 4 5 6 7 8 9 10 11 12 13 14
var canvas = document.getElementById("canvas"), styleObj = { border: '1px solid #000', borderRight: '3px solid #f00', width: '100%', height: '100%', top: '0', left: '0', bottom: '0', right: '0' }; for(var key in styleObj) canvas.style[key] = styleObj[key];
[EDIT]
Und wenn die "normale" CSS-Schreibweise ebenfalls unterstützt werden soll, kannst du das wie nachstehend realisieren:
CSS-Eigenschaften mit Bindestrichen müssen allerdings in Anführungszeichen gesetzt werden.Code :1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17
var canvas = document.getElementById("canvas"), styleObj = { border: '1px solid #000', borderRight: '3px solid #f00', 'border-left-width': '25px', width: '100%', height: '100%', top: '0', left: '0', bottom: '0', right: '0' }; for(var key in styleObj) canvas.style[key.replace(/\-(\w)/g, function(){ return arguments[1].toUpperCase(); })] = styleObj[key];
[/EDIT]
Ciao
QuaeseVielleicht muss man manchmal vom Weg abkommen, um nicht auf der Strecke zu bleiben!
----
Der "Fortsetzungsroman" auf www.leuteforum.de
New kind to realize large scalable projects with jQuery: jQuery SDK
-
Mir fällt auf die schnelle nichts kürzeres ein. Aber es ist lesbar und DRY (http://en.wikipedia.org/wiki/Don%27t_repeat_yourself).
Code javascript:1 2 3
var s = canvas.style; s.border = s.top = s.left = s.bottom = s.right = 0; s.width = s.height = '100%';
Achtung Spoiler:
Auf keine Fall so, das ist böse!
Code :1 2 3 4
with(canvas.style) { border = top = left = bottom = right = 0; width = height = '100%'; }
Ich bereute schon, dass ich das with-statement da mit rein ziehe.
-
style ist nicht nur ein JS-Objekt, es ist auch ein HTML-Attribut, und als solches kann man es auch setzen:
Code :1
canvas.setAttribute('style','border:0;width:100%;height:100%;top:0;left:0;bottom:0;right:0;');
(funktioniert ab IE8 und in allen sonst handelsüblichen Browsern)
Allerdings:
Dies überschreibt alle inline notierten oder per JS zugewiesenen styles des Elementes, also alles was über das JS-style-Objekt zugreifbar ist. Styles von Stylesheets bleiben unangetastet(es sei denn ein dort notiertes Format wird in setAttribute neu definiert).
Falls du dich mal für ein Framework entscheiden solltest, jQuery's css-Methode nimmt auch ein Objekt(wie styleObj in Quaese's Antwort) als Argument, das hätte dann nicht die Auswirkungen wie oberhalb bei "Allerdings" vermerkt sondern würde sich verhalten wie dein gegenwärtiges Skript.
-
Also von wollmaus`Methode würde ich echt abraten, ich verweise mal einfach auf meinen ersten Post.
Ähnliche Themen
-
MAIL() mit CSS style (als style block oder aus verlinkter styles.css) ****?
Von NetBull im Forum PHPAntworten: 6Letzter Beitrag: 19.10.11, 09:37 -
Auslesen von Style-Infos mit getElementById().style...
Von Netzwerkidi im Forum Javascript & AjaxAntworten: 6Letzter Beitrag: 26.05.11, 11:42 -
Komisches verhalten zwischen style.left und style.width
Von one6666 im Forum Javascript & AjaxAntworten: 4Letzter Beitrag: 07.04.10, 11:59 -
<a> Style Angaben werden nicht akzeptiert
Von Kopfballstar im Forum CSSAntworten: 12Letzter Beitrag: 04.05.06, 21:33 -
Übersicht für IMG Style Angaben
Von Kopfballstar im Forum HTML & XHTMLAntworten: 3Letzter Beitrag: 21.10.05, 15:21





Zitieren


Login





