| Van: | |
| Datum: | Dinsdag 9 maart 2010, 08:20 |
| Onderwerp: | Re: Vervelend probleempje in Javascript |
> "Ton van Doorn" <Ton@niethier.invalid> wrote:
>
> Dag,
>
> [Lettergrootte]
>> Ik doe iets fout in het if-statement maar ik kan na lang zoeken het
>> niet vinden.
>
>> function switchFontSize (waarde) {
>> CurrentFontSize = GetCookie("font_size");
>> switch (waarde) {
>> case 'inc':
>> if (CurrentFontSize+0.1 < 1.4) {
>> CurrentFontSize+=0.1;
>> }
>> else {
>> CurrentFontSize=1.4;
>> }
>> break;
>> case 'dec':
>> if (CurrentFontSize-0.1 > 0.6) {
>> CurrentFontSize-=0.1;
>> }
>> else {
>> CurrentFontSize=0.6;
>> }
>> break;
>> default:
>> CurrentFontSize=0.8;
>> }
>> SetCookie('font_size', CurrentFontSize, 30);
>> }
>
> Die gebroken getallen geven een wat lelijk resultaat (hier bijv. iets als
> 1.2000000000000002, i.p.v. 1.2). Dat komt omdat het benaderingen zijn.
> Waar dat kan gebruik je liefst gehele getallen. In dit geval in de
> richting van:
>
> var size = 10; // '1.0'
>
> function switchFontSize(inc) {
> size = Math.max(6, Math.min(14, size + inc));
> alert(size/10);
> }
>
> En dan roep je aan met als argument -1 of 1. (Je kan nu een integer
> opslaan en het resultaat van een deling door 10 gebruiken als waarde voor
> een stijl-eigenschap.)
>
