Ir para conteúdo

POWERED BY:

Arquivado

Este tópico foi arquivado e está fechado para novas respostas.

Felipe Henrique

[Resolvido] setInterval - FadeIn/Fadeout

Recommended Posts

Fala galera, tudo bem?

 

Estou começando com programação e gostaria de pedir uma ajudinha http://forum.imasters.com.br/public/style_emoticons/default/assobiando.gif

Alguém poderia dar uma força?

Agradeço desde já. http://forum.imasters.com.br/public/style_emoticons/default/thumbsup.gif

 

O problema está aqui:

<html>
<head>
<script type="text/javascript">

var t;
var tt;

function init()
{
	document.getElementById('fotos').style.filter = "alpha(opacity="+ 100 +")";
	document.getElementById('fotos').style.opacity = 1;
}

function fadeOut(div)
{
	t = setInterval("diminuiAlpha(document.getElementById('fotos'))","100");
}

function fadeIn(div)
{
	tt = setInterval("aumentaAlpha(document.getElementById('fotos'))","100");
}

function diminuiAlpha(div)
{
	
	if(alpha <= 0.1)
	{
		clearInterval(t);
		fadeIn(div);
	}
	else
	{
		var alpha = div.style.opacity;
		div.style.filter = "alpha(opacity="+ alpha +")";
		div.style.opacity = alpha - 0.1;
	}
}

function aumentaAlpha(div)
{

	if(alpha >= 0.9)
	{			
		clearInterval(tt);
		fadeOut(div);
	}
	else
	{

		var alpha = div.style.opacity;
		div.style.filter = "alpha(opacity="+ alpha +")";
		div.style.opacity = alpha + 0.2;
	}
}
</script>
</head>
<body>
<div id="fotos" style="position:absolute;top:20px;left:10px;width:200px;height:200px;background-color:#000;"><script>init()</script><script>fadeOut(document.getElementById('fotos'))</script></div>
</body>
</html>

Eu queria que essa div ficasse indo de 0 até 1 e de 1 até 0.

Queria saber o que está acontecendo !! :blink: ... pq não funciona?

Compartilhar este post


Link para o post
Compartilhar em outros sites

eae cara segue modificado e funcionado

 

<html>
<head>
<script type="text/javascript">

var t;
var tt;

function init()
{
	document.getElementById('fotos').style.filter = "alpha(opacity="+ 100 +")";
	document.getElementById('fotos').style.opacity = 1;
}

function fadeOut(div)
{
	t = setInterval("diminuiAlpha(document.getElementById('fotos'))","100");
}

function fadeIn(div)
{
	tt = setInterval("aumentaAlpha(document.getElementById('fotos'))","100");
}

function diminuiAlpha(div)
{
	
	var alpha = div.style.opacity;
	if(parseFloat(alpha) <= 0)
	{
		clearInterval(t);
		fadeIn(div);
	}
	else
	{
		var alpha = div.style.opacity;
		div.style.filter = "alpha(opacity="+ alpha +")";
		div.style.opacity = parseFloat(alpha) - 0.1;
	}
}

function aumentaAlpha(div)
{
	var alpha = div.style.opacity;
	if(parseFloat(alpha) >= 0.9)
	{			
		clearInterval(tt);
		fadeOut(div);
	}
	else
	{
		var alpha = div.style.opacity;
		div.style.filter = "alpha(opacity="+ alpha +")";
		div.style.opacity = parseFloat(alpha) + 0.1;
	}
}
</script>
</head>
<body>
<div id="fotos" style="position:absolute;top:20px;left:10px;width:200px;height:200px;background-color:#000;"><script>init()</script><script>fadeOut(document.getElementById('fotos'))</script></div>
</body>
</html>

o que eu fiz.. adicionei o parseFloat(alpha), pq sempre que pegar um valor você deve transfoma-lô e por isso que nãos estava fazendo a soma..

modifiquei a condição do primeiro if no lugar de 0.1 coloquei 0..

 

t+

Compartilhar este post


Link para o post
Compartilhar em outros sites

aaai ai ... essas linguagens de tipagem fraca http://forum.imasters.com.br/public/style_emoticons/default/pinch.gif ... uAHeuHEuhAUEhAUEHUAH

Muuuuito obrigado mesmo !

 

Eu até tinha pensado neste problema, só que o que eu fiz foi mais ou menos o seguinte

 

parseInt(alpha + 1)/10 ... era mais ou menos isso, não me lembro agora, mas também não tinha funcionado :P

 

Bom, mas uma vez ... muito obrigado ! http://forum.imasters.com.br/public/style_emoticons/default/thumbsup.gif

Compartilhar este post


Link para o post
Compartilhar em outros sites

×

Informação importante

Ao usar o fórum, você concorda com nossos Termos e condições.