Javascript Escape Quote

  • Onderwerp starter Onderwerp starter migz
  • Startdatum Startdatum
Status
Niet open voor verdere reacties.

migz

Gebruiker
Lid geworden
19 jan 2012
Berichten
10
De escape character om de hex code van de kleur te outputten werkt niet ? iemand die me kan helpen. heb al veel geprobeerd. maar dit lijkt mij de beste?

[JS]function changeColor(){
document.body.style.backgroundColor = '\"#' + 56AA11 '\"';
}[/JS]
 
Ik denk dat je dit bedoelt:
[JS]function changeColor(){
document.body.style.backgroundColor = '#56AA11';
}[/JS]
De (dubbele) quotes zijn niet nodig, er hoeft dus niets ge-escaped te worden. De hexcode stop je in de string, komt vanzelf goed :)
 
Laatst bewerkt:
Ja ewel maar ik wil graag met een variable de kleur kunnen veranderen, de variabele zou gewoon de kleurcode zijn zonder # en zonder " " ( 56AA01 ) bijvoorbeeld. is dit mogelijk dan?
Bedankt
 
Ja, dat kan ook!
[JS]function changeColor(color){
document.body.style.backgroundColor = '#' + color.toString(16);
}

var color = 0x56AA01;
changeColor(color);[/JS]
 
Oh dankje! maar kan je heel even uitleggen als je tijd hebt wat die '0x' ervoor doet? die .toString(16) is van HEX -> STRING omzetten veronderstel ik ? bedankt!

Ja, dat kan ook!
[JS]function changeColor(color){
document.body.style.backgroundColor = '#' + color.toString(16);
}

var color = 0x56AA01;
changeColor(color);[/JS]
 
Tuurlijk :) De 0x is om aan te geven dat je dat getal hexadecimaal gaat representeren. De computer gaat er normaal gesproken vanuit dat je getallen decimaal representeert in je script. Doe je dat niet, dan moet je dat even aangeven ;)
De volgende definities van var color zijn equivalent:
[JS]var color = 5679617; //Representatie decimaal (10)
var color = 025525001; //Representatie octaal (8) (Er staat een extra 0 vooraan het getal om aan te geven dat de representatie octaal is)
var color = 0x56AA01; //Representatie hexadecimaal (16) (Hetzelfde, maar met 0x)[/JS]
De toString van een getal gaat ook uit van een 10-tallige representatie. Daarom moet je, als dat afwijkt van je bedoelingen, even zelf aangeven wat het moet zijn:
[JS](5679617).toString(); // "5679617"
(5679617).toString(8); // "25525001"
(5679617).toString(16); // "56aa01"[/JS]
 
Status
Niet open voor verdere reacties.
Terug
Bovenaan Onderaan