Ver Mensaje Individual
  #7 (permalink)  
Antiguo 06/08/2013, 09:25
Avatar de Panino5001
Panino5001
Me alejo de Omelas
 
Fecha de Ingreso: mayo-2004
Ubicación: -34.637167,-58.462984
Mensajes: 5.148
Antigüedad: 20 años
Puntos: 834
Respuesta: Canvas funcion como funciona??

Fijate:
http://fiddle.jshell.net/XYHpJ/show/
Viendo código fuente:
http://alexismangin.com/public/cbc/js/paper.js
Y ahí:
Código:
//...
DomEvent.requestAnimationFrame = new function() {
	var part = 'equestAnimationFrame',
		request = window['r' + part] || window['webkitR' + part]
			|| window['mozR' + part] || window['oR' + part]
			|| window['msR' + part];
	if (request) {
		request(function(time) {
			if (time == undefined)
				request = null;
		});
	}

	var callbacks = [],
		focused = true,
		timer;

	DomEvent.add(window, {//....


Y si seguís mirando vas a encontrar un setInterval también.

La que yo describí es una manera sencilla de hacerlo, también puede usarse el mismo evento onmousemove y prescindir de timmers. No analicé el código en profundidad para ver qué es exactamente lo que usan acá, porque la verdad me parece absurdo usar semejante librería para un ejercicio tan básico
Lo de customizar el atributo type es una mala manera (no estandar) de ejecutar el javascript de manera postergada o temporizada o a demanda, ya que los tipos que no son text/javascript (o, para ser más exactos, los que no tienen un valor que el navegador reconozca) no se ejecutan hasta no ser evaluados ex profeso por un script de tipo text/javascript (en realidad no hay garantías de que esto deba ser respetado por los navegadores, aunque en la práctica suceda). Un ejemplo:
Código:
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
<html xmlns="http://www.w3.org/1999/xhtml">
<head>
<meta http-equiv="Content-Type" content="text/html; charset=utf-8" />
<title>Documento sin título</title>
<script type="text/javascript">
alert(123);
onload=function(){
var sc=document.getElementsByTagName('script'),i=0,l=sc.length;
	for(;i<l;i++){
                 //sin esto, el 2do. alert no saldría
		if(sc[i].getAttribute('type')=='panino5001')eval(sc[i].text);
	}
}
</script>
</head>

<body>

<script type="panino5001">
alert(456);
</script>
</body>
</html>

Última edición por Panino5001; 06/08/2013 a las 12:29