Когда происходит $(document).ready ?
С самого начала изучения jQuery был приучен что код должен прописываться внутри $(document).ready
Я считал что событие redy происходит когда страница ПОЛНОСТЬЮ загружена. Однако в первой же своей работе где применялся jQuery я сталкнулся с такой особенностью - у меня там было 9 картинок которые должны были зуммироваться, и по этому я должен был в самом начале отцентрировать их в зависимости от их ширины. Первые 5-6 картинок всегда нормально ставили позицию, а последние картинки при первом заходе на сайт всегда центрировались неправильно. Однако если пользователь нажимал F5 или заходил на сайт повторно - то с картинками уже всё было нормально. Тоесть если картинки есть в кеше браузера, то проблем нету, а если они грузятся впервые, то такое ощущение что $(document).ready срабатывает раньше чем загружаются все картинки! В тот раз я не стал глубоко разбираться, ведь картинок всего 9, и просто вписал <img MyWidth=### MyHeight=### src=...> (всё равно при зумировании width и height поменяют свои значения и их надо будет сбрасывать на начальные... Прошло время, и тут мне звонит друг и спрашивает - как получить ширину картинки? Я ему говорю - $(...).width Он отвечает что так и делает, но получает - 0 (ноль) Я говорю что такое может быть если ещё не загрузилась Но он говорит что у него код выполяется в $(document).ready И тут я вспомнил что у меня такая проблема уже была и предложил выполнить это же действие в $('#Kartinka').load И он получил её размер... Вот сейчас не понимаю, значит $(document).ready - это НЕ означает что все элементы документа загрузились? |
испольщуйте window.onload
|
$.ready -- загрузился весь HTML-код страницы.
Событие load у window -- загрузилась вся страница, включая внешние ресурсы. |
zebra741258963,
zebra, у вас тут гнездо походу. |
Не, рейтинг набиваю
|
что вы тут городите??7
$(document).ready — событие полной загрузки DOM документа (т.е. когда получены все элементы и объекты). Простыми словами, когда браузер узнает, что получил всю разметку страницы — тогда сработает. Т.е. не ждёт, пока загрузятся все изображения и прочее, а стартует сразу, как получает разметку, а потом уже идёт догрузка содержимого |
T-sh,
объясните, пожалуйста, как предложение Цитата:
|
Цитата:
Цитата:
|
Всем большое спаисбо.
Может теоретически спрошу - а для какого-то объекта ещё .redy имеет смысл использовать? (про .load понятно что для картинок, может ещё для флеша или музыки) А .redy вроде не придумал где может ещё использоваться. И прошу прощения у пользователя zebra за схожесть ников, хотя свой уже несколько использую в сети, но из-за уважения готов сменить на этом сайте свой ник чтобы он не вводил в заблуждение пользователей (если есть такая техническая возможность у админов) |
Часовой пояс GMT +3, время: 16:58. |