Toon posts:

Netscape | kleur van TR via bgColor veranderen

Pagina: 1
Acties:

Verwijderd

Topicstarter
Ik wil in een tabel dynamisch de kleur van een rij kunnen veranderen. Dit werkt uitstekend in IE5+ (misschien ook wel 4) dmv onderstaand script als je het aanroept met: <tr id=tab1 onmouseover="tabOver(1)" onClick="tabClick(1)" onmouseout="tabOut(1)"> . Maar onder Netscape (6+) werkt het -natuurlijk- niet |:( , er staat wel een else stukje maar ik heb hier al veel gezet, maar het werkt niet. Nu heb ik wel snippets code die gebruik maken van bv. this.bgcolor maar dat wil/kan ik dus niet gebruiken, omdat die alleen werkt op de huidige rij en niet op een willekeurige andere rij(bij mouseOver rij1 wil ik bv. rij5 oplichten)....
code:
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
function tabOver(n){
    if(active != n){
        t = "tab" + n;
        if(document.all)
            document.all[t].bgColor = "#DDFF00";
        else
            document.layers[t].bgColor = "#DDFF00";
    }
}

function tabClick(n){
    t = "tab" + n;
    document.all[t].bgColor = "<? echo $overColor; ?>";

    oldActiveTD = "tab" + oldActive;
    
    if(document.all)
        if(oldActive != n)
            if(document.all)
                document.all[oldActiveTD].bgColor = "#FFFFFF";
            else
                document.layers[oldActiveTD].bgColor = "#FFFFFF";
}

function tabOut(n){
    if(active != n){
        t = "tab" + n;
        if(document.all)
            document.all[t].bgColor = "#FFFFFF";
        else
            document.layers[t].bgColor = "#FFFFFF"; 
    }
}

Ik wordt zo ontzettend m:rntal van dat godvergeten Netscape/Mozilla, ok het sterft waarschijnlijk uit en daarom zou ik het niet hoeven te maken, maar ik wil het nu gewoon toch werkend hebben...

  • crisp
  • Registratie: Februari 2000
  • Laatst online: 00:13

crisp

Devver

Pixelated

NS4 werkte nog met het layers model, NS6 (en de nieuwe versies IE trouwens ook) werken volgens het DOM object model waarbij je elementen moet aanspreken middels getElementById.
Het wordt dus zoiets:
code:
1
document.getElementById[t].bgColor = "#DDFF00";

of was bgColor nu een style-property? :?

Intentionally left blank


  • Dryw.Filtiarn
  • Registratie: September 2001
  • Laatst online: 18-03 12:10
[quote]Op maandag 03 december 2001 21:30 schreef fruit.Mics het volgende:
code:
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
function tabOver(n){
    if(active != n){
        t = "tab" + n;
        if(document.all)
            document.all[t].style.backgroundColor = "#DDFF00";
        else
            document.layers[t].style.backgroundColor = "#DDFF00";
    }
}

function tabClick(n){
    t = "tab" + n;
    document.all[t].style.backgroundColor = "<? echo $overColor; ?>";

    oldActiveTD = "tab" + oldActive;
    
    if(document.all)
        if(oldActive != n)
            if(document.all)
                document.all[oldActiveTD].style.backgroundColor = "#FFFFFF";
            else
                document.layers[oldActiveTD].style.backgroundColor = "#FFFFFF";
}

function tabOut(n){
    if(active != n){
        t = "tab" + n;
        if(document.all)
            document.all[t].style.backgroundColor = "#FFFFFF";
        else
            document.layers[t].style.backgroundColor = "#FFFFFF";   
    }
}

=( Protected by witchcraft )=


Verwijderd

Topicstarter
Dank beider... helaas werkt het niet. :(

  • Annie
  • Registratie: Juni 1999
  • Laatst online: 25-11-2021

Annie

amateur megalomaan

deze zou het gewoon moeten doen in NS6:
document.getElementById(t).style.backgroundColor = '#DDFF00';

/copyright notice:
combi van de antwoorden van Dryw.Filtiarn en crisp ;)

Today's subliminal thought is:


  • crisp
  • Registratie: Februari 2000
  • Laatst online: 00:13

crisp

Devver

Pixelated

Op maandag 03 december 2001 23:42 schreef Annie het volgende:
deze zou het gewoon moeten doen in NS6:
document.getElementById(t).style.backgroundColor = '#DDFF00';

/copyright notice:
combi van de antwoorden van Dryw.Filtiarn en crisp ;)
Zou kunnen ja; ben alleen te lui om het zelf te proberen ;)
Het zou ook nog style.bgColor kunnen zijn (haal die dingen altijd door elkaar)...

Intentionally left blank


Verwijderd

Topicstarter
Op maandag 03 december 2001 23:42 schreef Annie het volgende:
deze zou het gewoon moeten doen in NS6:
document.getElementById(t).style.backgroundColor = '#DDFF00';

/copyright notice:
combi van de antwoorden van Dryw.Filtiarn en crisp ;)
That does the trick! Mijn dank is groot!

Verwijderd

Topicstarter
Maak nu gebruik van deze functie
code:
1
2
3
4
5
6
    function changBGC(layerNaam, kleur){
        if(document.all)
            document.all[layerNaam].style.backgroundColor = kleur;
        else
            document.getElementById(layerNaam).style.backgroundColor = kleur;
    }

zal helaas wel niet werken in Netscape 4 :(

  • crisp
  • Registratie: Februari 2000
  • Laatst online: 00:13

crisp

Devver

Pixelated

code:
1
2
3
4
5
6
7
8
    function changBGC(layerNaam, kleur){
        if(document.all)
            document.all[layerNaam].style.backgroundColor = kleur;
        else if (document.getElementById) 
            document.getElementById(layerNaam).style.backgroundColor = kleur;
        else
             document.layers[layerNaam].backgroundColor = kleur;
    }

Intentionally left blank

Pagina: 1