Javascript kan ikke trække fra variabel korrekt

Tags:    javascript

Har et problem der er ved at drive mig til vanvid.

Har skrevet et simpelt javascript:

Fold kodeboks ind/udJScript kode 


...Men den opfører sig ikke som jeg gerne vil have den til!

Jeg vil gerne have den til at alerte: 0.9, 0.8, 0.7, 0.6 .... osv, hele vejen til 0.

Men i stedet alerter den: 0.9, 0.8, 0.7000000000000001, 0.6000000000000001, 0.5000000000000001, 0.40000000000000013, 0.30000000000000016, 0.20000000000000015, 0.10000000000000014, 1.3877787807814457e-16, -0.09999999999999987.....

Hvorfor disse besynderlige tal?? Har jeg skrevet noget helt forkert, eller...?



edit:

En måde at løse mit problem på ville være hvis jeg IKKE skulle bruge opacity som kun løber fra 0 - 1...

Er der et godt alternativ til opacity som løber fra 0 - 100 i stedet for, som vil fungere i alle browsere?

Så kan jeg også få et meget mere smooth fade, det ville være fedt!

Har prøvet med noget filter værk, men kan ikk rigtig få det til.

Hvis nogen har et bud til et af disse spørgsmål ville det være awesome! :D



Indlæg senest redigeret d. 14.10.2013 18:49 af Bruger #13473
6 svar postet i denne tråd vises herunder
1 indlæg har modtaget i alt 5 karma
Sorter efter stemmer Sorter efter dato
Du kan løse det sådan her:
Fold kodeboks ind/udJScript kode 


Kig på den her side: http://floating-point-gui.de/ - for mere info.


Du kunne overveje at lave det med CSS3 istedet
http://bavotasan.com/2011/a-simple-fade-with-css3/



Brug CSS, med mindre der er en speciel grund til du bruger javascript



Takker Kenneth, det fungerer delvist... Så du er helt klart inde på noget.

Det alerter nu: 0.9, 0.8, 0.7000000000000001, 0.6, 0.5, 0.4, 0.30000000000000004, 0.19999999999999998, 0.1, 0!

Så, en forbedring fra før.... Er der nogle tal jeg kan ændre på så det virker hele vejen igennem? - må indrømme at jeg kun delvist forstår det ekstra du har puttet på, så min egen logik kan ikke hjælpe mig så meget videre her :)

Men tak ellers ;)




Det alerter nu: 0.9, 0.8, 0.7000000000000001, 0.6, 0.5, 0.4, 0.30000000000000004, 0.19999999999999998, 0.1, 0!


så har du glemt _Float der hvor du udskriver tallet.

Du kan tænke på "_Float(tal)" konvertere dit tal til en float som er præcist.


derfor vil jeg stadig anbefale dig at kigge på en css løsning.



You nailed it Kenneth :D

Mange tak :)

....Det jeg laver er en mindre del af en mere avanceret funktion, så CSS vil ikke fungere for mig her..

Men tak igen :)



Aha.



t