Как сделать код jQuery ПОСЛЕ загрузки страницы?
Если вы хотите, чтобы мероприятие работало над вашим страницы, вы должны называть его внутри $(document).ready(). Все внутри него будет загружаться, как только как DOM загружается и досодержимое страницы загружается.
Я хочу сделать только код javascript после Загружается содержимое страницы, как я могу это сделать?
Ответы
Ответ 1
Используйте load
вместо ready
:
$(document).load(function () {
// code here
});
Обновление Вам нужно использовать .on()
начиная с jQuery 1.8. (http://api.jquery.com/on/)
$(window).on('load', function() {
// code here
});
Из этого ответа:
Согласно http://blog.jquery.com/2016/06/09/jquery-3-0-final-released/:
Удалены устаревшие псевдонимы событий.
.load
, .unload
и .error
, устаревшие с jQuery 1.8, больше не используются. Используйте .on()
для регистрации слушателей.
https://github.com/jquery/jquery/issues/2286
Ответ 2
Следуя
$(document).ready(function() {
});
можно заменить
$(window).bind("load", function() {
// insert your code here
});
Есть еще один способ, который я использую для увеличения времени загрузки страницы.
$(document).ready(function() {
$(window).load(function() {
//insert all your ajax callback code here.
//Which will run only after page is fully loaded in background.
});
});
Ответ 3
Изменить: этот код будет ждать, пока весь контент (изображения и сценарии) будет полностью загружен и отображен в браузере.
У меня была эта проблема, когда $(window).on('load',function(){ ... })
срабатывал слишком быстро для моего кода, так как Javascript, который я использовал, предназначался для форматирования и скрытия элементов. Элементы, которые спрятаны слишком быстро и где слева с высотой 0.
Теперь я использую $(window).on('pageshow',function(){ //code here });
, и он срабатывает в то время, которое мне нужно.
Ответ 4
Я ищу ту же проблему, и вот что мне помогает.
Вот версия jQuery 3.1.0, а событие загрузки устарело для использования с версии jQuery версии 1.8. Событие загрузки удаляется из jQuery 3.0. Вместо этого вы можете использовать метод и связать событие загрузки JavaScript:
$(window).on('load', function () {
alert("Window Loaded");
});
Ответ 5
И если вы хотите запустить вторую функцию после завершения первого, см. fooobar.com/questions/50434/....
Ответ 6
напишите код, который вы хотите выполнить внутри этого. Когда ваш документ будет готов, это будет выполнено.
$(document).ready(function() {
});
Ответ 7
никто не упомянул об этом
$(function() {
// place your code
});
которая является сокращенной функцией
$(document).ready(function() { .. });
Ответ 8
Таким образом, вы можете избежать получения неопределенности в '$'
window.addEventListener("DOMContentLoaded", function(){
// Your code
});
ОБНОВЛЕНИЕ: Использование 'DOMContentLoaded' быстрее, чем просто 'загрузка', потому что загрузка страницы ожидания полностью загружена, включая imgs... в то время как DomContentLoaded ожидает только структуру