Nếu tôi chạy các chức năng dưới đây trước khi xác định nó, tôi sẽ nhận được lỗi này ...Có phải định nghĩa hàm Javascript trước khi gọi không?
Uncaught ReferenceError: openModal is not defined
chạy sau đó xác định
$(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();
};
});
Bây giờ nếu tôi xác định các chức năng đầu tiên và sau đó gọi nó là nó hoạt động ... Tôi có một nền tảng trong PHP vì vậy tôi quen với việc có thể truy cập các chức năng trên toàn cầu, tôi có làm điều gì đó sai hay làm tất cả các chức năng phải được xác định trước khi chúng có thể được sử dụng?
$(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);
});
Có phải đó là tất cả mọi thứ, ví dụ: bạn đã tuyên bố nhận diện 'openModal' (như trái ngược với định nghĩa nó) trên phạm vi đó? ví dụ. 'var openModal;' – Rup
Liên quan: http://stackoverflow.com/questions/261599/why-can-i-use-a-function-before-its-defined-in-javascript – TJHeuvel
@Rup đây là lần đầu tiên openModal được sử dụng – JasonDavis