Avatar billede fireworld Nybegynder
10. august 2001 - 12:03 Der er 7 kommentarer og
1 løsning

frames?

Hej jeg har 2 frames

top og menu


jeg vil gerne have nå man kører over noget text ændre den noget text i top framet nå man eri menu framet

hvordan gør jeg det

har prøvet med

top.getElementById(\'idtest\').innerHTML=\'hej\';
Avatar billede jakoba Nybegynder
10. august 2001 - 13:16 #1
Dit navn  top er uheldigt, da det også er et standardnavn i browseren

du kan evt ændre den der tekst ved at skrive:

top.frames[\'top\'].getElementById(\'idtest\').innerHTML=\'hej\';

men jeg vil anbefale du ændrer rammenavnet top til noget andet.

mvh JakobA
Avatar billede jakoba Nybegynder
10. august 2001 - 13:18 #2
PS:
det første top i sætningen ovenfor peger på dit yderste frameset, derfra kan du så \'forgrene\' dig ud i de rammer det har.
Avatar billede fireworld Nybegynder
10. august 2001 - 13:22 #3
top.frames[\'topshit\'].getElementById(\'mintekst\').innerHTML=\'hej\';

giver stadig fejl... har ændre

mit id til mintekst og mit frame name til topshit
Avatar billede fireworld Nybegynder
10. august 2001 - 13:23 #4
dette er mit fuldescript!

<script>

function change(action)
{
if(action ==\'info\')
    {
    if(document.getElementById(action).innerHTML==\'-[] Info\')
    {
    txt = \'<b>\' + document.getElementById(action).innerHTML + \'</b><br> +- Om mig <br> +- Mit web? <br><br>\';
    showit = \'What kind of Info?\';
    }
    else
    {
    txt = \'-[] Info\';
    }
}

else if(action ==\'pics\')
    {
    if(document.getElementById(action).innerHTML==\'-[] Pictures\')
    {
    txt = \'<b>\' + document.getElementById(action).innerHTML + \'</b><br> +- Mig <br> +- Venner <br>+- Andet <br><br>\';
    showit = \'What PictureS?\';
    }
    else
    {
    txt = \'-[] Pictures\';
    }
}

else if(action ==\'stuff\')
    {
    if(document.getElementById(action).innerHTML==\'-[] Stuff\')
    {
    txt = \'<b>\' + document.getElementById(action).innerHTML + \'</b><br> +- Kontakt <br> +- Sms <br>+- Links <br><br>\';
    showit = \'Wanna see some stuff??\';
    }
    else
    {
    txt = \'-[] Stuff\';
    }
}   

parent.frames[\'topshit\'].getElementById(\'mintekst\').innerHTML=\'hej\';
document.getElementById(action).innerHTML=txt;
}
</script>
Avatar billede jakoba Nybegynder
10. august 2001 - 13:31 #5
det ser yderst rigtigt ud.
Du er klar over at  getElementById( ... )  kun duer i IE5+ og i NS6 ikke?

næe getElementById ligger jo i document objektet:

parent.frames[\'topshit\'].document.getElementById(\'mintekst\').innerHTML=\'hej\';

mvh JakobA
Avatar billede fireworld Nybegynder
10. august 2001 - 14:12 #6
Takkekr for hjælpen..... kan du forklare hvad jeg kan bruge istedet for getElementById som er bedre til de forskellige version som har samme virkning?
Avatar billede jakoba Nybegynder
10. august 2001 - 17:03 #7
tildels, men desværre ikke fuldstændigt.

i IE 4 kan du bruge    document.all[\'mintekst\']

i NS ved jeg faktisk ikke hvordan man finder en navngivet tabelcelle.

for at lave noget der virker crossbrowser må du gøre noget forskelligt for de forskellige brobsere:

function getElm( elmNavn ) {
    var dom = ( document.getElementById ) ? true : false ;
    var ie4 = ( !dom && document.all ) ? true : false ;
    var ns4 = ( document.layers );

    if ( dom ) return document.getElementById( elmNavn );
    if ( ie4 ) return document.all[ elmNavn ];
    if [ ns4 ) return \"noget jeg ved ikke hvad :(\";
    return \"noget for ældre browsere\";
}; //end getElm( string )

og i din change( action ) funktion bruger du så getElm(action) alle de steder der står getElementById(action)

mvh JakobA
Avatar billede jakoba Nybegynder
10. august 2001 - 17:05 #8
PS: men siden du bruger  innerHTML  er det ret ligegyldigt hvad hvordan man finder cellens objekt i ns4, for der findede  innerHTML  alligevel heller ikke.
Avatar billede Ny bruger Nybegynder

Din løsning...

Tilladte BB-code-tags: [b]fed[/b] [i]kursiv[/i] [u]understreget[/u] Web- og emailadresser omdannes automatisk til links. Der sættes "nofollow" på alle links.

Loading billede Opret Preview
Kategori
Vi tilbyder markedets bedste kurser inden for webudvikling

Log ind eller opret profil

Hov!

For at kunne deltage på Computerworld Eksperten skal du være logget ind.

Det er heldigvis nemt at oprette en bruger: Det tager to minutter og du kan vælge at bruge enten e-mail, Facebook eller Google som login.

Du kan også logge ind via nedenstående tjenester