w3schools - ¿Cómo retrasar la llamada de la función javascript?
tipos de funciones en javascript (5)
Soy nuevo en JavaScript.
Me gustaría llamar a la función JavaScript / jQuery después de cargar la página en la página aspx.
Intenté usar <form onload="function()">
y window.load = function(){}
, pero JavaScript aún se activa antes de que parte del contenido esté completamente cargado.
¿Es posible llamar durante Page_PreRender
en la página aspx y no en el código detrás, para que pueda retrasar la función de JavaScript?
Intenté setTimeout("function()",5000)
para resolver el problema.
Sin embargo, parece que setTimeout()
no es compatible con algunos navegadores, por ejemplo: provocó un bucle en Google Chrome.
Si desea estar 100% seguro de que es cuando la página REALMENTE se carga, use:
$(window).load(function(){
//After EVERYTHING loads, including images.
})
La solución del otro, onload
funciona, pero se carga una vez que el DOM está listo, pero no cuando la ventana termina de cargarse.
Si va a utilizar jQuery, es preferible adjuntar un evento al evento preparado para el documento utilizando uno de los siguientes:
$(document).ready(callback);
o
$(document).ready(function () { /* do stuff */ });
o
$(callback);
o
$(function () { /* do stuff */ });
setTimeout
es compatible con todos los navegadores desde 1996. Debes evitar la evaluación de "functionName ()" y en su lugar hacer:
setTimeout(functionName,5000)
ACTUALIZACIÓN: Si inicialmente espera que se pase una variable a la función y ninguna cuando esté en el tiempo de espera, debe hacer esto en su lugar:
setTimeout(function() { functionName() },5000)
porque setTimeout pasará el ID de tiempo de espera a la función, si se llama como en el primer ejemplo.
Sin embargo, está llamando a la onload
incorrecta, por lo que debe hacer lo siguiente:
window.onload=function() {
// your stuff
}
o, ya que está utilizando jQuery , esto:
$(document).ready(function() {
// your stuff
});
o simplemente esto:
$(function() {
// your stuff
});
$(document).ready(function(){
//Code goes here
});
o estilo antiguo
<body onload="myFunction()">