---
title: "tolka som float, tolkas inte som float.. I don't get it!"
type: "forum-thread"
url: "https://www.webforum.nu/amne/javascript/158953-tolka-som-float-tolkas-inte-som-float-i-don-t-get-it"
topic: "JavaScript"
topic_url: "https://www.webforum.nu/amne/javascript"
author: "oGGo"
published: "2007-04-05T01:54:44.000Z"
updated: "2007-04-05T15:13:35.000Z"
replies: 1
views: 374
page: 1
pages: 1
language: "sv-SE"
site: "webForum — webforum.nu"
rights: "Upphovsrätten till varje inlägg tillhör dess författare."
attribution: "Citera som: webForum, https://www.webforum.nu/amne/javascript/158953-tolka-som-float-tolkas-inte-som-float-i-don-t-get-it"
---

# tolka som float, tolkas inte som float.. I don't get it!

## #1 — oGGo, 2007-04-05T01:54Z

Hej!
Sitter här och meckar med ett litet fadingscript. Problem har dock uppkommit som jag inte riktigt kan förstå.
När man hovrar ett objekt så anropas funktionen fade(this.id);

fade() går vidare in i fadeIt() och startar en timer för endera funktionen mouseOver() eller mouseOut(), detta är ju tämligen logiskt.

Problemet uppkommer dock i min funktion mouseOut().
I mouseOver() fadas det som det skall medan det i mouseOut() inte gör det.

Problemet ligger i att i mouseOut() så returneras inte värdet från: **document.getElementById(id).style.opacity** som en float utan som en sträng vilket bara det är skumt då det fungerar utmärkt i mouseOver() funktionen.

Okej, **document.getElementById(id).style.opacity = parseFloat(document.getElementById(id).style.opacity)** borde då göra susen, men icke.. what have I done wrong här egentligen? =/

```
function fade(id)
{
	//onmouseover
	if (document.getElementById(id).style.opacity == '')
	{
		document.getElementById(id).style.opacity = 1.0;
		fadeIt('mouseover', id);
	}
	
	else if (document.getElementById(id).style.opacity >= 0.90)
		fadeIt('mouseover', id);
	
	//onmouseout
	else
		fadeIt('mouseout', id);
}

function fadeIt(ud, id)
{
	
	if (ud == 'mouseover')
	{
		var x = 0;
		for (i=0; i<=3; i++)
		{
			setTimeout('mouseOver("'+ id +'");', x);			
			x += 10;
		}
	}

	else if (ud == 'mouseout')
	{
		var x = 0;
		for (i=0; i<=3; i++)
		{
			setTimeout('mouseOut("'+ id +'");', x);			
			x += 10;
		}
	}
}

function mouseOut(id)
{
	if (document.getElementById(id).style.opacity != 1)
	{
		document.getElementById(id).style.opacity += 0.05;
	}
}

function mouseOver(id)
{
	if (document.getElementById(id).style.opacity != 0.5)
	{
		document.getElementById(id).style.opacity -= 0.05;
	}
}
```

Permalänk: https://www.webforum.nu/p/158953

## #2 — oGGo, 2007-04-05T15:13Z

Löste det själv till slut.. satte några parseFloat() på diverse ställen vilket till slut fick det att fungera. Det skumma i kråksången var dock att det fungerade att subtrahera men inte addera.. ytterst märkligt.

parseFloat

> **oGGo skrev:**
>
> ```
> function fade(id)
> {
> 	//onmouseover
> 	if (document.getElementById(id).style.opacity == '')
> 	{
> 		document.getElementById(id).style.opacity = 1.0;
> 		fadeIt('mouseover', id);
> 	}
> 	
> 	else if (document.getElementById(id).style.opacity >= 0.90)
> 		fadeIt('mouseover', id);
> 	
> 	//onmouseout
> 	else
> 		fadeIt('mouseout', id);
> }
> 
> function fadeIt(ud, id)
> {
> 	
> 	if (ud == 'mouseover')
> 	{
> 		var x = 0;
> 		for (i=0; i<=3; i++)
> 		{
> 			setTimeout('mouseOver("'+ id +'");', x);			
> 			x += 10;
> 		}
> 	}
> 
> 	else if (ud == 'mouseout')
> 	{
> 		var x = 0;
> 		for (i=0; i<=3; i++)
> 		{
> 			setTimeout('mouseOut("'+ id +'");', x);			
> 			x += 10;
> 		}
> 	}
> }
> 
> function mouseOut(id)
> {
> 	if (parseFloat(document.getElementById(id).style.opacity) != 1)
> 	{
> 		document.getElementById(id).style.opacity = parseFloat(document.getElementById(id).style.opacity) + 0.05;
> 	}
> }
> 
> function mouseOver(id)
> {
> 	if ( parseFloat(document.getElementById(id).style.opacity) != 0.7)
> 	{
> 		document.getElementById(id).style.opacity -= 0.05;
> 	}
> }
> ```

Permalänk: https://www.webforum.nu/p/1956794

---

Tråden på webben: https://www.webforum.nu/amne/javascript/158953-tolka-som-float-tolkas-inte-som-float-i-don-t-get-it
