Si me quedo por debajo de la función antes de definir, voy a conseguir este error ...¿Se debe definir una función Javascript antes de llamarlo?
Uncaught ReferenceError: openModal is not defined
carrera luego defina
$(document).ready(function() {
delay(openModal, 2000);
delay = function (f, t) {
setTimeout(function() {
f();
}, t);
};
openModal = function() {
$('#modal-box').css({
left: $(window).width()/2 - $('#modal-box').width()/2,
top: $(window).height()/2 - $('#modal-box').height()/2
});
$('#modal-box').show();
$('#modal-mask').show();
};
});
Ahora bien, si defino la función primero y luego llamarlo funciona ... Tengo experiencia en PHP, así que estoy acostumbrado a poder acceder a funciones de manera global, ¿estoy haciendo algo mal o tengo que definir todas las funciones antes de que puedan ser utilizadas?
$(document).ready(function() {
delay = function (f, t) {
setTimeout(function() {
f();
}, t);
};
openModal = function() {
$('#modal-box').css({
left: $(window).width()/2 - $('#modal-box').width()/2,
top: $(window).height()/2 - $('#modal-box').height()/2
});
$('#modal-box').show();
$('#modal-mask').show();
};
delay(openModal, 2000);
});
es que todo, es decir, que han declarado el identificador 'openModal' (en contraposición a la definición) situados por encima de ese ámbito? p.ej. 'var openModal;' – Rup
Relacionado: http://stackoverflow.com/questions/261599/why-can-i-use-a-function-before-its-defined-in-javascript – TJHeuvel
@Rup que es la primera vez que openModal se usa – JasonDavis