NIWO - nl.internet.www.ontwerpFAQ

Van:
Datum: Dinsdag 9 maart 2010, 08:20
Onderwerp: Re: Vervelend probleempje in Javascript

"Warden Dave" <wardendave@mnsys.invalid> schreef in bericht
news:hn42br$3ks$1@nl-news.euro.net...
> "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.)
>

Warden

Bedankt voor het advies.
Ik zal het zeker meenemen.
Maar dat was mijn probleem (nog) niet.

Het probleem is dat het if-statement niet werkt.
Ik heb het stukje apart hieronder gezet.

   case 'inc':
     if (CurrentFontSize+0.1 < 1.4) {
       CurrentFontSize+=0.1;
     }
     else {
       CurrentFontSize=1.4;
     }
     break;

In dit geval gaat hij, direct naar het else-gedeelte. Dus ergens in het
if-statement heb ik iets fout gedaan.
Maar wat.
Ik heb in het script ook al statements geplaats die de waarde van
CurrentFontSize laten zien.
Die waardes zijn goed.
Behalve bij het vergroten want dan wordt die direct 1.4

MVG Ton van Doorn

Maar wat.