У меня есть страница, на которой нужно загрузить 3 файла javascript (что довольно много), прежде чем все элементы страницы станут доступными. Если щелкнуть одну из ссылок, загрузка остановится, и вся страница не загрузит скрипт правильно.
Я принимаю решение, маскируя страницу наложением, которое делает страницу черной до того, как она была загружена полностью. Итак, в верхней части страницы я поставил
$(".black-overlay").show();
который является div, который маскирует всю мою страницу с z-индексом 9999. Затем, после загрузки страницы, я помещаю
$(function() {
$(".black-overlay").hide();
});
который из источников, которые я читал, совпадает с функцией готовности документа, поэтому наложение исчезает после загрузки страницы.
Моя проблема в том, что это работает только иногда. В одном случае наложение пропало, но ссылка все еще не работает (значит, скрипт еще не загружен). Другой случай: иногда оверлей не отображается, если: я перехожу на другую страницу, затем возвращаюсь на главную страницу, на главной странице оверлей должен был отображаться снова, поскольку скрипт должен был загрузиться снова. Но иногда это срабатывает просто отлично.
Есть ли более чистое решение этой проблемы?
[РЕДАКТИРОВАТЬ] Это происходит, особенно если интернет-соединение с сайтом очень медленное.
$(window).load( function() { // your function });
- person Muhammad Talha Akbar   schedule 21.08.2013jQuery(document).ready(function($){$(".black-overlay").hide();});
- person Александр Фишер   schedule 21.08.2013eric.itzhak
уже ответил, плюс это абсолютно правильно. - person Muhammad Talha Akbar   schedule 21.08.2013