Kan geen achtergrond kleur veranderen

Pagina: 1
Acties:

  • PulsatingQuasar
  • Registratie: Augustus 2000
  • Laatst online: 20-08 12:38
Ik heb 4 frames voor m'n site. 1 daarvan is voor een menu.

Als ik nu naar een bepaalde sectie ga, moeten de achtergrondkleuren van een aantal frames veranderen. Nu lukt me dat alleen voor de frame waarin het menu zit.
Bij de andere frames zie je of niets veranderen of je ziet die kleur even flitsen en dan weer teruggaan naar wit.

Voor de eigen frame doe ik document.bgColor of self.document.bgColor. Werkt allebei zoals verwacht als een trein.
Voor een andere frame doe ik parent.choice2.document.bgColor wat zou moeten werken. Gezien het feit dat de achtergrond kleur even opflitst werkt dat dus ook maar het blijft dus niet zo.

Iemand een idee?

Verwijderd

Probeer het eens met behulp van stylesheets. Bijv. parent.document.body.style.backgroundColor='#ff0000';

  • André
  • Registratie: Maart 2002
  • Laatst online: 19-08 12:30

André

Analytics dude

Probeer eens:

document.body.style.backgroundColor = "rgb(100, 100, 100);";

/spuit 44769 enzo

[ Voor 28% gewijzigd door André op 06-08-2003 22:53 ]


  • PulsatingQuasar
  • Registratie: Augustus 2000
  • Laatst online: 20-08 12:38
Werkt geen van allen. Nog steeds flitsen. Hier is het test scriptje wat ik gebruik

<SCRIPT language="JavaScript">
<!----hide
function Change2Frames( link1, link2 )
{
parent.main.location=link1;
parent.choice2.location=link2;
if( link2 == 'amigachoice.html' )
{
parent.main.document.bgColor = '#FF0000';
self.document.bgColor = '#FF0000'
}
else
{
document.bgColor = '#0000FF'
}
}
//------>
</SCRIPT>

Het gaat dus om die regel parent.main. De kleur rood flitst even op. Moet ik in die main frame dan nog iets regelen? Het is nu net alsof de kleur doorgevoerd wordt en dat dan de pagina in main opnieuw wordt geladen waardoor de eigenschappen van die pagina weer ingeladen worden!

Dan heb ik dit ook wel geprobeerd in de source van die main frame:
<SCRIPT language="JavaScript">
<!--
if( parent.choice2.document.location.href.indexOf("amigachoice.html") > 0 )
{ document.bgColor = '#FF0000' }
else
{ document.bgColor = '#0000FF' }
//-->
</SCRIPT>

Maar dit gaat niet goed omdat op het moment dat deze test uitgevoerd wordt, de pagina in de choice 2 frame nog niet is ingeladen en ik dan een NULL object fout krijg.

  • Woudloper
  • Registratie: November 2001
  • Niet online

Woudloper

« - _ - »

Je moet ook documen.body.etc gebruiken en als ik je testscript zie ben je de .body vergeten...

  • PulsatingQuasar
  • Registratie: Augustus 2000
  • Laatst online: 20-08 12:38
In alle gevallen met body erbij en style enzo blijft die flits en geen definitieve achtergrondkleur!

Maar nu heb ik ergens gelezen dat je *officieel* helemaal geen achtergrond kleur van een frame vanuit een andere frame kunt veranderen. Klopt dat?

Verwijderd

als de inhoud van dat frame van een ander domein komt mag je er niks aan veranderen nee, anders wel.

en als je eens netjes met parent.frames[framenaam].body... etc werkt?

[ Voor 27% gewijzigd door Verwijderd op 07-08-2003 12:38 ]


  • PulsatingQuasar
  • Registratie: Augustus 2000
  • Laatst online: 20-08 12:38
Dan krijg ik een error met de opmerking 'main' is undefined!

Da's vaag want hij heeft wel een naam en anders zou parent.main.location=link1; ook niet werken.

  • PulsatingQuasar
  • Registratie: Augustus 2000
  • Laatst online: 20-08 12:38
Ik ben er dus achter dat het hem in dit deel zit: link2 == 'amigachoice.html'

Als ik namelijk gewoon een knop op die pagina maak om de kleur te veranderen dan werkt het. Deze test gaat niet goed. Die flits komt er dus van dat dit eerst waar is en blijkbaar is het zo in 1 maal niet waar en dan is de achtergrond weer wit.

Wat ik eigenlijk denk wat er gebeurt is dat ondanks dat de kleur verandering na de pagina wisseling geplaatst is, dit andersom wordt uitgevoerd. Vandaar die kleur flits!

Dus mijn vraag is; is er een manier om te controlleren in welke volgorde iets wordt uitgevoerd of te wachten in een test tot een pagina geladen is???
Pagina: 1