Kleur afhankelijk van tekst

Status
Niet open voor verdere reacties.

Roelant

Gebruiker
Lid geworden
20 mrt 2007
Berichten
112
Hallo,

Ik stel mijn vraag maar even hier bij css, aangezien het een opmaakvraagje betreft.

Hoe zorg ik ervoor dat bijvoorbeeld als x="a", dat dan "a" in het blauw wordt geschreven en als x="b", dat dan "b" in het rood wordt geschreven? x is in dit geval een waarde die uit een andere functie komt en die kan "a" of "b" als waarde krijgen.

Ik heb dit op diverse manieren geprobeerd. Vooral met een functie in de .js file, maar de functie lijkt altijd blauw terug te geven, ook al had het rood moeten zijn.

[JS]function getKleur(x)
{
var kleur;

if (x="a")
{
kleur = "blue";
}
else
{
kleur = "red";
}
return kleur;
}[/JS]

En hoe verwerk ik dan deze waarde vervolgens netjes in mijn html of css file?
 
Laatst bewerkt:
Dat ziet er weer retestrak uit Csshunter! Denk dat ik daar wel mee uit de voeten kan ja! Dankjewel!

Maar hoe zit dat precies met die dubbele = die je gebruikt t.o.v. de enkele die ik gebruikte?
 
Hoi Roelant,
Bij javascript moet je dubbele == gebruiken als het om een vergelijkende voorwaarde gaat:
Code:
if (a == b){ ... dan ...}
Dit ter onderscheid van de enkele =, die gebruikt wordt voor toewijzing van een waarde aan een variabele:
Code:
a = b; // variable a moet de waarde van variabele b krijgen
Bij het gewone enkele = teken volgt javascript trouwens zijn eigen logica (anders dan in de normale wiskunde). Neem bv.:
Code:
a = a + 1;
In gewoon algebra kan dat niet: als je 1 optelt bij een getal, is het resultaat natuurlijk niet hetzelfde getal.
In javascript kan het wel (en wordt vaak gebruikt). Daar is het géén vergelijking (die je van links naar rechts en omgekeerd kunt lezen) maar een definitie/toewijzing, en betekent het eigenlijk:
Code:
a([I]nieuwe waarde[/I]) = a + 1; // met a de bestaande waarde
Om bitjes te sparen, hebben ze afgesproken dat de toevoeging (nieuwe waarde) er niet bij hoeft. Het is dus eigenlijk ook een verkorte schrijfwijze voor:
Code:
b = a + 1;
// en vervolgens, met hergebruik van de a:
a = b;
Zolang iedereen zich maar houdt aan de javascript-afspraken, gaat het goed! :)

Met vriendelijke groet,
CSShunter
 
Ok, duidelijk! Misschien dat het daarom ook wel mis ging dat ik altijd de kleur blauw kreeg, ook al had het rood moeten zijn.
 
Yes, denk het ook.
Weet je dat de Webdeveloper Toolbar rechtsboven ook een ingebouwde validatie voor javascript fouten heeft?

dev-toolbar-js.png

Dan gaat het rode kruisballetje aan, en bij een klik er op wordt verteld in welke regel de dader zit. Heeft me al veel typo's gescheeld!
 
Status
Niet open voor verdere reacties.
Terug
Bovenaan Onderaan