[JS] Plaatje word niet weergegeven in IE na change

Pagina: 1
Acties:

  • Barracuda_82
  • Registratie: September 2001
  • Laatst online: 19-12-2024

Barracuda_82

mkTime(), not war!

Topicstarter
Ik heb een heel simpel scriptje dat een plaatje veranderd in een ander plaatje (een plusje in een minnetje om precies te zijn, het word een uitklap dingetje). Dit werkt in Firefox natuurlijk perfect, maar in IE word het plaatje wel geladen maar op een of ander manier niet weergegeven. Er komt dan een rood kruisje in te staan. Althans dat is de bedoeling, want die geeft ie ook niet weer. Er komt dan een soort "spacer" te staan van 30x30 pixels.

Dit is het scriptje:
JavaScript:
1
2
3
4
5
6
7
8
9
function showOptions(a) {
     if (document.getElementById('options'+a).style.display == "none") {
        document.getElementById('options'+a).style.display = "block";
        document.getElementById('opt_img'+a).src = "img/min.gif";
     } else {
        document.getElementById('options'+a).style.display = "none";
        document.getElementById('opt_img'+a).src = "img/plus.gif";
     }
}

Weet iemand een work-around voor dit probleem (het komt alleen in IE voor).

  • André
  • Registratie: Maart 2002
  • Laatst online: 18-05 16:30

André

Analytics dude

Kun je niet beter de plaatjes preloaden?

  • Thijsmans
  • Registratie: Juli 2001
  • Laatst online: 19-05 16:37

Thijsmans

⭐⭐⭐⭐⭐ (5/5)

Het object wordt wel goed benaderd (gezien de huidige afbeelding wel verandert), maar het pad van het plaatje klopt niet (gezien het rode kruis). Kijk eens wat het precieze pad is van het plaatje dat niet gevonden kan worden, klopt dit wel?

Overigens, dat er geen rood kruisje staat klopt: 30x30 is te klein om dit kruisje te laten zien. Het heeft wel dezelfde betekenis.

Privacy-adepten vinden op AVGtekst.nl de Nederlandse AVG-tekst voorzien van uitspraken en besluiten.


  • Barracuda_82
  • Registratie: September 2001
  • Laatst online: 19-12-2024

Barracuda_82

mkTime(), not war!

Topicstarter
Prammenhanger schreef op donderdag 02 december 2004 @ 12:39:
Het object wordt wel goed benaderd (gezien de huidige afbeelding wel verandert), maar het pad van het plaatje klopt niet (gezien het rode kruis). Kijk eens wat het precieze pad is van het plaatje dat niet gevonden kan worden, klopt dit wel?

Overigens, dat er geen rood kruisje staat klopt: 30x30 is te klein om dit kruisje te laten zien. Het heeft wel dezelfde betekenis.
Het pad is goed, als je via de rechtermuisknop op het plaatje klikt en "afbeelding weergeven" kiest word ie wel weer getoond. Ook als je de eigenschappen van het plaatje bekijkt zie je ook het volledige pad, met maten en alles. Dus het plaatje is er wel, alleen word ie niet getoond.
André schreef op donderdag 02 december 2004 @ 12:39:
Kun je niet beter de plaatjes preloaden?
Dat word ook al gedaan, maar heeft geen invloed op dit probleem.

[ Voor 14% gewijzigd door Barracuda_82 op 02-12-2004 13:32 ]


  • André
  • Registratie: Maart 2002
  • Laatst online: 18-05 16:30

André

Analytics dude

Dan lijkt het op de IE 'kleine plaatjes bug'.

Maar als je ze gepreload hebt hoeft je niet de .src opnieuw te zetten maar kun je toch de gepreloade image aanroepen?

  • Barracuda_82
  • Registratie: September 2001
  • Laatst online: 19-12-2024

Barracuda_82

mkTime(), not war!

Topicstarter
André schreef op donderdag 02 december 2004 @ 13:40:
Dan lijkt het op de IE 'kleine plaatjes bug'.

Maar als je ze gepreload hebt hoeft je niet de .src opnieuw te zetten maar kun je toch de gepreloade image aanroepen?
Dat doen we ook, en nog steeds is er het probleem. Maar ik weet niet wat het 'kleine plaatjes bug' is waar je het over hebt. Zou je dit even willen toelichten?

Verwijderd

Misschien lees ik niet goed genoeg, maar waar is de display=none voor als je beide img's wel wilt laten zien?

  • Barracuda_82
  • Registratie: September 2001
  • Laatst online: 19-12-2024

Barracuda_82

mkTime(), not war!

Topicstarter
Verwijderd schreef op donderdag 02 december 2004 @ 14:16:
Misschien lees ik niet goed genoeg, maar waar is de display=none voor als je beide img's wel wilt laten zien?
Dat zijn de div's die je wilt weergeven of wilt verstoppen als je op het plaatje klikt.

  • Barracuda_82
  • Registratie: September 2001
  • Laatst online: 19-12-2024

Barracuda_82

mkTime(), not war!

Topicstarter
Het probleem is opgelost met een work-around. We hebben nu een divje om het plaatje gezet en die word met .innerHTML veranderd in een ander plaatje.


JavaScript:
1
2
3
4
5
6
7
8
9
10
11
function showOptions(a) {
 
              
     if (document.getElementById('options'+a).style.display == "none") {
        document.getElementById('options'+a).style.display = "block";
        document.getElementById('opt_img'+a).innerHTML='[img]"img/min.gif"[/img]';
     } else {
         document.getElementById('options'+a).style.display = "none";
         document.getElementById('opt_img'+a).innerHTML='[img]"img/plus.gif"[/img]';
     }
}


HTML:
1
2
3
<a href="javascript: void(0)" onclick="javascript: showOptions(0);">
   <span id="opt_img0">[img]"img/plus.gif"[/img]</span>
</a>

[ Voor 18% gewijzigd door Barracuda_82 op 02-12-2004 14:57 ]

Pagina: 1