tempo de execução de função
galera eu to tentando fazer um if no js para ver se consigo detectar se a pagina foi clicada e muda o background de uma div e executar em 1 segundo e depois voltar para o ultimo estado.
veja como seria a função mais ou menos.
só que tenho que fazer uma comparação dentro do if do click que compara o valor da variavel e depois conforme o valor da variavel back ground muda para um outro .
veja a gambiarra:
<html>
<script src="js/jquery-1.4.2.min.js" type="text/javascript"></script>
<heady>
<style type="text/css">
#animado {
background: url(10.gif) no-repeat;
position: absolute;
width: 200px;
height: 200px;
}
</style>
<script type="text/javascript">
$('body').click(function(evt) {
var x1 = evt.clientX-20;
var y1 = evt.clientY;
$(document).ready(function(msg) {
$("#animado").animate({left: x1, top: y1}, 1000);
});
var IE = document.all?true:false;
//if (!IE) document.captureEvents(Event.MOUSEMOVE)
document.onmousemove = getMouseXY;
var x2;
var y2;
function getMouseXY(e) {
if (IE) { // grab the x-y pos.s if browser is IE
//tempX = event.clientX + document.body.scrollLeft;
//tempy = event.clientY + document.body.scrollTop;
}
else { // grab the x-y pos.s if browser is NS
x2 = e.pageX;
y2 = e.pageY;
}
var e=x1-x2;
var f=y1-y2;
var g=x2-x1;
var h=y2-y1;
//if (x2 < 0){x2 = 0;}
//if (y2 < 0){y2 = 0;}
if (f > 0 && g > 0){im="url(12.gif)";}
if (f < 0 && g < 0){im="url(5.gif)";}
if (f > 0 && g < 0){im="url(2.gif)";}
if (f < 0 && g > 0){im="url(9.gif)";}
if (f < 0 && f > -120 && g > 200){im="url(11.gif)";}
if (f < 0 && f > -120 && g < 17){im="url(4.gif)";}
if (f < -40 && g > 0 && g < 170){im="url(7.gif)";}
if (f > 0 && g > 0 && g < 80){im="url(1.gif)";}
if('click'){if(im="url(12.gif)"){im = "url(321.gif)"} ;}
var im;
var z = im;
$('#animado').css("background-image", z);
document.getElementById("vx").innerHTML = x2;
document.getElementById("vy").innerHTML = y2;
document.getElementById("x1").innerHTML = x1;
document.getElementById("y1").innerHTML = y1;
//var z = "url(10.gif)";
document.getElementById("e").innerHTML = e;
document.getElementById("f").innerHTML = f;
document.getElementById("g").innerHTML = g;
document.getElementById("h").innerHTML = h;
};
});
</script>
<body>
<div id="left">x2 <span id="vx"></span></div><br>
<div id="y">Y2 <span id="vy"></span></div>
<div id="left">x1 <span id="x1"></span></div><br>
<div id="y">y1 <span id="y1"></span></div>
<div id="left">x2-x1 <span id="g"></span></div><br>
<div id="y">y2-y1 <span id="h"></span></div>
<div id="left">x1-x2 <span id="e"></span></div><br>
<div id="y">y1-y2 <span id="f"></span></div>
<div id="animado">
<h3></h3>
</div>
</body>
</heady>
</html>
mais só fica com o background do click quero que depois de ter executado a função do click volte para a função do getelemt.
exemplo: é uma animação de um bonequinho ai quando você passa o mouse em determinado lugar ele gira olhando para o mouse, ai quando você clicar na pagina ativa um novo background onde é um bonequinho em movimento altomaticamente a div se move e nesse código a div leva em média um segudo para atingir seu lugar final.
tipo assim
if('click'){if (x = backgroundx){x = backgoundx2};}
$('#animado').css("background-image", x);
só que se eu fazer isso desabilita a função getelemtbyid que faz o avatar olhar para onde o mouse esta, e só fica o background do click, ai quando eu clicar em outro lugar que deveria ser outro background fica só o ultimo, por isso quero determinar um segundo para função retornar o estado antigo.
sera que eu devo declarar uma nova função? como?
Discussão (2)
Carregando comentários...