Developer Accused Of Unreadable Code Refuses To Comment
“The best way to get the right answer on the Internet is not to ask a question, it's to post the wrong answer.”
QA Engineer walks into a bar. Orders a beer. Orders 0 beers. Orders 999999999 beers. Orders a lizard. Orders -1 beers.
De kleuren worden uit een database gehaald. Is natuurlijk wel mogelijk met een extra script dat een afbeelding genereerd maar is - op dit moment - te omslachtig.OkkE schreef op maandag 04 september 2006 @ 12:50:
Een backgorund-image op de <option>'s zetten? Anders zal je waarschijnlijk zelf iets moeten maken met javascript..
Developer Accused Of Unreadable Code Refuses To Comment
Edit:
Met dit:
1
2
3
4
5
6
7
8
9
10
| <select> <option>Kleur:</option> <option style="border-left: solid 10px red">Red</option> <option style="border-left: solid 10px green">Green</option> <option style="border-left: solid 10px yellow">Yellow</option> <option style="border-left: solid 10px blue">Blue</option> <option style="border-left: solid 10px magenta">Magenta</option> <option style="border-left: solid 10px cyan">Cyan</option> <option style="border-left: solid 10px #880000">Dark Red</option> </select> |
Dan krijg je dit:
[ Voor 73% gewijzigd door Reinier op 04-09-2006 13:04 ]
bijv:
this.style.background='#000000';
1. De background-color werkt wel in Firefox en Explorer, maar dat wil de topicstarter juist niet, en de oplossing van Reinier werkt dus niet in Explorer.gersompie schreef op maandag 04 september 2006 @ 14:45:
werkt het ook niet met javascript?
bijv:
this.style.background='#000000';
2. Als CSS niet werkt in een browser, dan werkt het via JS toevoegen van CSS ook niet.
“The best way to get the right answer on the Internet is not to ask a question, it's to post the wrong answer.”
QA Engineer walks into a bar. Orders a beer. Orders 0 beers. Orders 999999999 beers. Orders a lizard. Orders -1 beers.
http://0x7f.nl/GoT/test.htm
-- edit
Of je maakt je eigen listbox
[ Voor 31% gewijzigd door Tepel op 04-09-2006 18:08 ]
als je in IE op de knop met ">" drukt komt er niks terwijl er in firefox netjes een keuzemenu'tje komt
Dus zo:
1
2
3
4
| function colorList( ) { Container.setAttribute('className', 'ListOn'); } |
Leuke is dat FF het daarmee niet doetReinier schreef op maandag 04 september 2006 @ 19:58:
Dat komt omdat IE graag className ziet in plaats van class
Dus zo:
JavaScript:
1 2 3 4 function colorList( ) { Container.setAttribute('className', 'ListOn'); }
Ik weet het... setAttribute werkt niet zoals je verwacht in IE. Daarom werkt de onClick ook niet
1
| Container.className = 'ListOn'; |
ipv setAttribute, wil wel eens helpen
Span is een inline element en dat kan je dus geen width meegeven, dus daarmee zal het moeilijk gaan
Voor die onclick, probeer eens:
1
| Button.onClick = colorList; |
of
1
| Button.onClick = function() { colorList(); } |
[ Voor 53% gewijzigd door XWB op 04-09-2006 20:32 ]
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
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
| <html> <head> <title>Yaaarrr</title> <style type="text/css"> #optColorRed, #liColorRed { padding: 2px 5px 2px 30px; background: url('http://0x7f.nl/GoT/color/red.gif') 3px no-repeat; } #optColorBlue, #liColorBlue { padding: 2px 5px 2px 30px; background: url('http://0x7f.nl/GoT/color/blue.gif') 3px no-repeat; } #optColorGreen, #liColorGreen { padding: 2px 5px 2px 30px; background: url('http://0x7f.nl/GoT/color/green.gif') 3px no-repeat; } #optColorYellow, #liColorYellow { padding: 2px 5px 2px 30px; background: url('http://0x7f.nl/GoT/color/yellow.gif') 3px no-repeat; } #optColorBlack, #liColorBlack { padding: 2px 5px 2px 30px; background: url('http://0x7f.nl/GoT/color/black.gif') 3px no-repeat; } #liColorRed:hover, #liColorYellow:hover, #liColorBlue:hover, #liColorGreen:hover, #liColorBlack:hover { background-color: #ABABAB; } .ListOn { display: block; } .ListOff { display: none; } label { display: block; position: relative; float: left; width: 7em; } #txtColor { border: 1px solid #000; } #ColorContainer { margin: 0px; padding: 0px; margin-left: 7em; border: 1px solid #000; position: relative; width: 120px; } #ColorContainer ul { margin: 0px; padding: 0px; list-style: none; } </style> <script type="text/javascript"> var Field; var Button; var Container; var Options; function __init() { Field = document.getElementById("txtColor"); Container = document.getElementById("ColorContainer"); Options = new Array("liColorRed", "liColorYellow", "liColorBlue", "liColorGreen", "liColorBlack"); for (var i = 0; i < Options.length; i++) { document.getElementById(Options[i]).onclick = function() { Field.value = this.id; Container.className = 'ListOff'; } } } function colorList () { Container.className = 'ListOn'; } </script> </head> <body onload="__init()"> <form name="yaarrrr" method="POST" action="text.htm?pirate=yaarrr"> <p> <label for="lstColor">Yaaarrr:</label> <select id="lstColor" name="yaaarrr"> <optgroup label="Kleur"> <option id="optColorRed">Red</option> <option id="optColorYellow">Yellow</option> <option id="optColorBlue">Blue</option> <option id="optColorGreen">Green</option> <option id="optColorBlack">Black</option> </optgroup> </select> </p> <p> <label for="txtColor">Yaaaarrr!!:</label> <input id="txtColor" name="yyyyaaaaarrrr" type="text" value="NULL" /> <input onClick="colorList();" id="colorButton" type="button" name="btnSelect" value=">" /> <div class="ListOff" id="ColorContainer"> <ul> <li id="liColorRed">Red</li> <li id="liColorYellow">Yellow</li> <li id="liColorBlue">Blue</li> <li id="liColorGreen">Green</li> <li id="liColorBlack">Black</li> </ul> </div> </p> </form> </body> </html> |
Ik vind echter wel dat mijn manier de mooiste is
Verwijderd
Het werkt maar dat is ook alles.Hacku schreef op maandag 04 september 2006 @ 20:57:
Dit lijkt in IE7 te werken, als iemand dat in IE6 even kan nakijken
Bovenste select: false
Onderste select: beetje... (geen rode kleur bv).
[ Voor 15% gewijzigd door Verwijderd op 04-09-2006 22:55 ]
In IE6 (op WinXP + SP2), de eerste geeft alleen tekst in de dropdown, werkt hier verder wel: de naam van de kleur kan geselecteerd worden. De tweede lijkt goed te werken, de waarde liColorRed komt er als waarde te staan na het selecteren.
Op Firefox doen alletwee de voorbeelden het, zover ik kan zien.
Opmerking:
Natuurlijk is dit alleen een testcase, maar het zou helemaal mooi zijn als je er een groep radio-buttons van kunt maken (lijkt me niet zo lastig, een li of een label gebruiken
[ Voor 3% gewijzigd door OkkE op 05-09-2006 08:54 ]
“The best way to get the right answer on the Internet is not to ask a question, it's to post the wrong answer.”
QA Engineer walks into a bar. Orders a beer. Orders 0 beers. Orders 999999999 beers. Orders a lizard. Orders -1 beers.
Zoals al gezegd haal ik de kleuren uit een database. Ik zou dan de afbeeldingen real-time moeten genereren of wanneer er kleuren worden toegevoegd/verwijderd de bestanden in één keer moeten aanmaken op de server.
Developer Accused Of Unreadable Code Refuses To Comment
Wel erg vervelend trouwens dat IE geen border op een select ondersteunt. Het is toch echt een CSS property die geldig is voor alle elementen. Snapt IE7 het trouwens ook niet?
Realtime generereren is toch heel simpel? Gewoon <img src="genereerblokje.php?kleur=FFBBDD" />Icelus schreef op dinsdag 05 september 2006 @ 10:16:
Zoals al gezegd haal ik de kleuren uit een database. Ik zou dan de afbeeldingen real-time moeten genereren of wanneer er kleuren worden toegevoegd/verwijderd de bestanden in één keer moeten aanmaken op de server.
Na betaling van een licentievergoeding van €1.000 verkrijgen bedrijven het recht om deze post te gebruiken voor het trainen van artificiële intelligentiesystemen.
Het is inderdaad niet moeilijk. Uit de database komen echter zowel RGB hex-triplets (#RRGGBB), web safe colors (#RGB) en web color names. Ik zou met alle drie rekening moeten houden en een lijst van web safe colors moeten aanmaken. De kleuren maken maar een klein gedeelte van het intranet uit; het is op dit moment niet de moeite waard.BCC schreef op dinsdag 05 september 2006 @ 10:20:
[...]
Realtime generereren is toch heel simpel? Gewoon <img src="genereerblokje.php?kleur=FFBBDD" />
Developer Accused Of Unreadable Code Refuses To Comment

