onload en JavaScript

Kr4n3oK

Hola estoy usando un evento onload situado en mi body para que cargue una función de un .js externo, este está en otra carpeta.
Pero no sé que cojones pasa que la función o no la carga o no funciona directamente.

el onload lo tengo asi
<body onload=funcion;>
Me estoy equivocando en algo?

Gracias y saludos.

Merkury

#1 has hecho el link al archivo .js?

Y por cierto, si está mal es así <body onload=funcion()>

#3 Mira en la linea de encima que tienes la solución.

1 respuesta
Kr4n3oK

#2 Si tiene el link al archivo.
He comprobado de mil maneras ya xddd voy a ver.
#2 Nada, no me carga la función el muy hijodeputa jajaj
#2 Ya he detectado el error xdd.

2 respuestas
Merkury

#3 Pega el código del .js y todo el html y lo revisamos.

#3 ¿Qué era?

Kr4n3oK
function sleep(millisegundos) {
	var inicio = new Date().getTime();
	while ((new Date().getTime() – inicio) < millisegundos);
}

Aquí está el error.
Que por cierto no sé que tiene.

1 respuesta
Merkury

#5 LoL Pues creo que la estas liando porque le getTime recoge los milisegundos desde el 1 de Enero de 1970 tendrás que acotar un poco mas no?

2 respuestas
Kr4n3oK

#6 Qué pasa, está mal? xDD
Es que quería una función que hiciese de sleep y estuve mirando ideas por google, quizás esté mal si.
No me paré a mirarla, porque según los comentarios andaba.

Entonces hay que transformar el date a milisegundos no?

1 respuesta
Kr4n3oK

#6 Me refiero a inicio, inicio tendré que pasarlo a millisegundos.

Merkury

#7 el fallo es que los while no llevan ; llevan { } y dentro lo que quieras hacer.

Y que una operación aritmetica no se puede hacer en el while, tienes que hacerla antes y establecerla como parametro de la expresion lógica.

Sería:


function sleep(milliseconds)
{
      var inicio = New Date().getTime;
      var diff = New Date().getTime - inicio;

 while(diff < milliseconds)
 {
       <loquesea>
 }

}

Solo por curiosidad has programado algo antes de tocar javascript?

1 respuesta
Kr4n3oK

Te reirás, pero si, estoy estudiando desarrollo de aplicaciones multiplataforma, y con javascript empecé realmente hace poco.
Por lo tanto no sé llegan a cambiar síntaxis, he de decir, que lo que tu comentas me ha extrañado xd.
Pero reitero, que ese código lo saqué de un foro para no tener que programarlo yo, y pensaba que estaría bien, porque los comentarios eran buenos...
No se si lo entiendes ahora xdd.

#9 De echo te digo, que jamás pensaría que ese código estuviese mal entiendes xdd, yo todo el rato estaba achacándolo a mi código no a ese.

1 respuesta
Merkury

#10 Jejej yo es que he visto los puntos y comas y pfff XD

Creo que el código que te he dejado debería funcionar (aviso de caminante yo en js poco, lo mio es java y PHP XD)

1 respuesta
Kr4n3oK

#11 He hecho un slider con javascript, php, css y html, y lo único que me falta es eso, que las imágenes puedan pasar automáticamente.
Porque actualmente solo tiene una opción que es pasar mediante onclick, y también quiero dar opción a que pasen solas xd.

1 respuesta
Merkury

#12 Utiliza un timer

http://www.w3schools.com/js/js_timing.asp

#14 De nada :D

1 respuesta
Kr4n3oK

#12 Estoy viendo lo del timer, es mas viable.
Gracias ya te comento.
#13 El problema que ahora veo, ya que he conseguido que funcione, es que al meterle al onload por ejemplo esto

<body onload=startAnimate()>

En donde está:

function startAnimate(){
var t=setTimeout("autoSlide()",3000);

}

De esta solo se hace uso una vez verdad?.

2 respuestas
Merkury

#14 Esque lo que tendrías que hacer es establecer dentro de la función todos los cambios y pintar el codigo que se necesite.

Ejemplo primer primera.jpg, cuando el timer sea 30s --> segundo.jpg y asi sucesivamente.

#14 Por cierto, ese while que tenias al principio, deerias meterle dentro una operación que cambiase la variable de control, si no bucle infinito al canto.

Usuarios habituales

  • Merkury
  • Kr4n3oK