Toon posts:

[javascript] wijzigen backgroundcolor van (andere) div

Pagina: 1
Acties:

Verwijderd

Topicstarter
hallo, ik wou graag als ik op de 1e druk. die rood word, als ik op de 2e klik die navy word en dat de 1e weer gewoon de backgroundcolor word.
als ik dan vervolgens op de 3e druk.. die groen word en degene die navy is gewoon weer backgroundcolor word en etc..

met de volgende code worden ze wel de desbetreffende goede achtergrondkleur, maar als ik op de tweede druk blijft de 1e rood natuurlijk.

JavaScript:
1
2
3
4
5
6
7
8
9
10
11
var arrTypes = new Array();
arrTypes[0] = '#66FF00';
arrTypes[1] = 'red';
arrTypes[2] = 'navy';
arrTypes[3] = 'green';
arrTypes[4] = 'black';
arrTypes[5] = document.body.style.backgroundColor;

function checkField(el, type, id) {
  el.style.backgroundColor=arrTypes[type];
}


dmv deze code krijg ik als ik op een div druk een nieuwe achtergrondkleur.

De onclick script:
HTML:
1
2
3
4
<div onclick="checkField(this, 1, '1');"></div>
<div onclick="checkField(this, 2, '1');"></div>
<div onclick="checkField(this, 3, '1');"></div>
<div onclick="checkField(this, 4, '1');"></div>



bij voorbaat dank,

Nick

  • André
  • Registratie: Maart 2002
  • Laatst online: 14:48

André

Analytics dude

Plaat de el die verkleurd wordt in een variabele en zet die weer terug op de oorspronkelijke kleur bij de volgende uitvoer van de functie.

Verwijderd

Topicstarter
ik ben nogal nieuw op het gebied van javascript, dus als je me kan assisteren zou dat fijn zijn

JavaScript:
1
var clicked = el;


zou dat er zo uit moeten zien? en wat moet ik vervolgens doen met de variabele el?

  • André
  • Registratie: Maart 2002
  • Laatst online: 14:48

André

Analytics dude

Zoiets ja :)
JavaScript:
1
2
3
4
5
6
7
var clicked = "";
function checkField(el, type, id)
{
  if (clicked != "") { clicked.style.backgroundColor = "#FFFFFF"; }  
  clicked = el;
  el.style.backgroundColor=arrTypes[type];
}

Verwijderd

Topicstarter
excuses Andre ik had wat beter moeten zoeken. ik heb gezocht op background van TD's wijzigen en ben nu hier mee gekomen en het werkt:

JavaScript:
1
2
3
4
5
6
7
8
9
10
11
function checkField(el, type, id) {

  for (i = 0; i < el.parentNode.childNodes.length; i++){

    if (el.parentNode.childNodes[i].tagName){
      el.parentNode.childNodes[i].style.backgroundColor=arrTypes[5]
    }

      el.style.backgroundColor=arrTypes[type]
  }
}


anyway, bedankt!

dit topic mag van mijn part dicht.

[ Voor 3% gewijzigd door Verwijderd op 23-11-2006 11:11 ]


  • BtM909
  • Registratie: Juni 2000
  • Niet online

BtM909

Watch out Guys...

Topics gaan niet per definitie dicht, zie ook: Het algemeen beleid #topiceinde ;)

Ace of Base vs Charli XCX - All That She Boom Claps (RMT) | Clean Bandit vs Galantis - I'd Rather Be You (RMT)
You've moved up on my notch-list. You have 1 notch
I have a black belt in Kung Flu.

Pagina: 1