Ik had een klein javascript geschreven, om 2 tabelen zonder fixed-width colums even breed te maken.
Een voorbeeld staat hier : http://bl-tyrone.student.utwente.nl/games/
In Firefox werkt het script prima, maar in Internet Explorer doet hij een beetje raar.
In eerste instantie leek het allemaal prima te werken, maar toen ik wat alerts weg haalde (die er voor debug stonden), werkte het alleen in IE niet meer
Screenshotje:

Dit is de functie :
zo wordt het aangeroepen:
Deze code zal wel niet de meeste ideale manier zijn om te bereiken wat ik hier graag wil doen, maar het werkt al bijna.
Ik heb echt al vanalles geprobeerd om het ook werken te krijgen in IE, zo heb ik verschillende dingen laten returnen, en de functie op een andere manier aangeroepen. Dit heeft echter allemaal niet mogen baten.
Ik vind het alleen zo heel erg vreemd, dat als ik de // voor alert('foo'); weg haal het gewoon werkt (met irritante alerts weliswaar).
Kan iemand mij misschien vertellen waar dit vreemde gedrag zich voordoet?
Een voorbeeld staat hier : http://bl-tyrone.student.utwente.nl/games/
In Firefox werkt het script prima, maar in Internet Explorer doet hij een beetje raar.
In eerste instantie leek het allemaal prima te werken, maar toen ik wat alerts weg haalde (die er voor debug stonden), werkte het alleen in IE niet meer
Screenshotje:

Dit is de functie :
JavaScript:
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
| function fixWidth(sid,aCols) { for (i=0;i<aCols.length;i++) { var tname = aCols[i] + '_' + sid + '_h'; var sname = aCols[i] + '_' + sid; var target = document.getElementById(tname); var source = document.getElementById(sname); // als het volgende niet gecomment is werkt het prima :? //alert ('foo'); if (target && source) target.style.width = (source.offsetWidth - 2) + 'px'; } } |
zo wordt het aangeroepen:
HTML:
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
| <div class="bar">rules</div> <table> <tr><th class="col1" id="col1_0_h">var</th><th class="col2">val</th></tr> </table> <div class="rules"> <table> <tr><td class="col1" id="col1_0">_tutor_bomb_viewable_check_interval</td><td class="col2">0.5</td></tr> <tr><td class="col1">_tutor_debug_level</td><td class="col2">0</td></tr> <tr><td class="col1">_tutor_examine_time</td><td class="col2">0.5</td></tr> <tr><td class="col1">_tutor_hint_interval_time</td><td class="col2">10.0</td></tr> <!-- knipper de knip --> </table> </div> <script> var cols = new Array(); cols[0] = 'col1'; cols[1] = 'col2'; cols[2] = 'col3'; fixWidth(0,cols); </script> |
Deze code zal wel niet de meeste ideale manier zijn om te bereiken wat ik hier graag wil doen, maar het werkt al bijna.
Ik heb echt al vanalles geprobeerd om het ook werken te krijgen in IE, zo heb ik verschillende dingen laten returnen, en de functie op een andere manier aangeroepen. Dit heeft echter allemaal niet mogen baten.
Ik vind het alleen zo heel erg vreemd, dat als ik de // voor alert('foo'); weg haal het gewoon werkt (met irritante alerts weliswaar).
Kan iemand mij misschien vertellen waar dit vreemde gedrag zich voordoet?