Check alle échte Black Friday-deals Ook zo moe van nepaanbiedingen? Wij laten alleen échte deals zien

[Javascript] TD kleur aanpassen onclick

Pagina: 1
Acties:
  • 117 views sinds 30-01-2008
  • Reageer

  • ViNyL
  • Registratie: Augustus 2001
  • Niet online
Doormiddel van een onclick event pas ik de achtergrond kleur van een rij aan in een tabel. In dat zelfde onclick event vouw ik een divje uit dat hidden is.

HTML:
1
onclick="Effect.toggle(document.getElementById('meerinfo-<?php echo $a; ?>'), 'blind' , {duration: 0.1});changeColors('<?php echo $a; ?>', '<?php echo $color; ?>');return false;">


Het divje is verborgen met de tag:

HTML:
1
style="display:none";


In mijn javascript functie kijk ik naar de status van het divje, is deze nog hidden of niet. Maar nu heb ik het idee omdat ik dit hard in de style tag heb gezet dat mijn functie niet goed werkt.

JavaScript:
1
2
3
4
5
6
7
8
9
10
11
12
function changeColors(rownr, rowcolor) {
    if (document.getElementById('meerinfo-' + rownr).style.display = 'none') {
        
        document.getElementById('phonetd1-' + rownr).style.background = '#FFFFCC';
        
    } else if (document.getElementById('meerinfo-' + rownr).style.display = '') {
        alert(rowcolor);
        document.getElementById('phonetd1-' + rownr).style.background = rowcolor;
        
    }
    
}


Bij het uitvouwen wordt de kleur keurig aangepast, alleen bij het invouwen lijkt de functie niet door te gaan naar het gedeelte:

JavaScript:
1
    } else if (document.getElementById('meerinfo-' + rownr).style.display = '') {


Dit komt natuurlijk omdat het hard in de tag staat. Hoe kan ik dit oplossen? Kun je die status van een style.display "on the fly" afvangen?

  • disjfa
  • Registratie: April 2001
  • Laatst online: 04-11 11:05

disjfa

be

Ja, dat kan je. Gewoon je element aanroepen en kijken wat de status van de style is :)

disjfa - disj·fa (meneer)
disjfa.nl


  • crisp
  • Registratie: Februari 2000
  • Laatst online: 23:52

crisp

Devver

Pixelated

gebruik == bij vergelijkingen ;)

Intentionally left blank


  • ViNyL
  • Registratie: Augustus 2001
  • Niet online
Nou dat doe ik, maar omdat het blijkbaar 'hard' in de tag staat:

code:
1
<tr id="meerinfo-<?php echo $a; ?>" style="display:none;">


werkt dat niet...

  • ViNyL
  • Registratie: Augustus 2001
  • Niet online
ARGH..! _/-\o_

Dat had ik aangepast om te checken of dat soms verkeerd was (tegen beter weten in). Omdat er elders een foutje zat maakte dat geen ruk uit, maar helaas later niet meer teruggezet!

[ Voor 35% gewijzigd door ViNyL op 13-12-2007 10:27 ]


  • disjfa
  • Registratie: April 2001
  • Laatst online: 04-11 11:05

disjfa

be

Je zegt toch tegen het divje dat die een style moet krijgen. :? Dat heeft natuurlijk weinig met de tabelcel te maken.

disjfa - disj·fa (meneer)
disjfa.nl


  • Jorick
  • Registratie: November 2001
  • Laatst online: 21:50
ViNyL schreef op donderdag 13 december 2007 @ 10:20:
Doormiddel van een onclick event pas ik de achtergrond kleur van een rij aan in een tabel. In dat zelfde onclick event vouw ik een divje uit dat hidden is.

HTML:
1
onclick="Effect.toggle(document.getElementById('meerinfo-<?php echo $a; ?>'), 'blind' , {duration: 0.1});changeColors('<?php echo $a; ?>', '<?php echo $color; ?>');return false;">


Het divje is verborgen met de tag:

HTML:
1
style="display:none";


In mijn javascript functie kijk ik naar de status van het divje, is deze nog hidden of niet. Maar nu heb ik het idee omdat ik dit hard in de style tag heb gezet dat mijn functie niet goed werkt.

JavaScript:
1
2
3
4
5
6
7
8
9
10
11
12
function changeColors(rownr, rowcolor) {
    if (document.getElementById('meerinfo-' + rownr).style.display = 'none') {
        
        document.getElementById('phonetd1-' + rownr).style.background = '#FFFFCC';
        
    } else if (document.getElementById('meerinfo-' + rownr).style.display = '') {
        alert(rowcolor);
        document.getElementById('phonetd1-' + rownr).style.background = rowcolor;
        
    }
    
}
Even een opmerking over wat hierboven staat: moet style.display = 'none' niet style.display == 'none' zijn? Want = is een toekenning dus als je het mij vraagt werkt je if en else if nu niet.
Bij het uitvouwen wordt de kleur keurig aangepast, alleen bij het invouwen lijkt de functie niet door te gaan naar het gedeelte:

JavaScript:
1
    } else if (document.getElementById('meerinfo-' + rownr).style.display = '') {


Dit komt natuurlijk omdat het hard in de tag staat. Hoe kan ik dit oplossen? Kun je die status van een style.display "on the fly" afvangen?
* Jorick traaaaag :O
Pagina: 1