Всем привет! Хочу спросить, есть ли такое событие которое вызывается при начале загрузки страницы, то есть сразу же после открытия вкладки браузера? И второе, есть ли такое событие которое вызывается при полной загрузке страницы, когда весь HTML загружен и все элементы каторые подгружались AJAX'ом загружены в DOM?
qwert_ukg У джекверивского аякса есть метод onSuccess А вообще - если подумать - как по твоему это должно работать? Откуда документ должен узнать, что в нем есть элементы загружаемые аяксом?
не уверен, но тут можно просто запустить какуюто функцию в head страницы. она быстрее всего будет "найдена". хотя костыль. вообщето это $(document).ready(function(){}) - jquery onLoad - натив js. но что касается если есть динамическая подгрузка, например, при прокручивании страницы вниз добавляется еще кусок текста - то такое вряд ли можно отловить, так как до это динамической подгрузки страница является "законченно", то есть полностью загруженной и сформированной.
такой подгрузки нет, но есть $(document).ready(function(){ загруска элементов в массив }) как отследить что все из аякса пришло?
это уже манипуляции после полной загрузки документа. у метода $.post() вызывается анонимная функция, если все прошло удачно. это и означает, что "все из аякса пришло".
чтобы было понятно: [js]$(document).ready(function(){ n = $("#npp").val(); $('.search').val("") //êýø äëÿ ñòðàíèö function get_page(query2){ if (typeof(cache2[query2]) !== 'undefined'){ $("#price").html(cache2[query2]); h_light(); } else { $.ajax({ url: "http://zamanpharm.kz/dub/templates/bt_okto/pages.php", dataType: "html", type: "GET", data: {page:query2, npp:n}, success: function(html){ cache2[query2] = html; $("#price").html(cache2[query2]); h_light(); } }); } } get_page("n0"); $('#zakaz').load("http://zamanpharm.kz/dub/templates/bt_okto/zak.php"); function get_cache(query2){ $.ajax({ url: "http://zamanpharm.kz/dub/templates/bt_okto/pages.php", dataType: "html", type: "GET", data: {page:query2, npp:n}, success: function(html){ cache2[query2] = html; h_light(); } }); } for(x=1; x<10; x++){ var query2="n"+(x*500); //alert(query2); get_cache(query2) }[/js] хочу сделать индикатор загрузки страници, чтобы пока грузится функционал не работал и отображался какойнибуть гиф
что ничего не понятно) ставь изначально, например, свойство display:none в какомто диве. после того как страница вот та: get_page("n0"); загружена, изменяй это свойство на display:block. в чем проблема?
да вот и я не знаю в чем) http://zamanpharm.kz/dub/templates/bt_okto/23!!!.php [css].hidden { display: none; } #load { width: 100px; height: 100px; background-color:red; position: fixed; z-index: 15; left:50%; top:50%; }[/css] HTML: <head> <div id='load'></div> [js]for(x=1; x<10; x++){ var query2="n"+(x*500); //alert(query2); get_cache(query2) } $("#load").toggleClass("hidden");[/js] класс хайден сразу назначается элементу див, тот даже отобразиться не успевает. а дело в том что саксес у аякса происходит тогда когда ответ все ништяк на серваке и ответ НАЧЕНАЕТ приходить, а сколько он загружается это уже другой вопрос пысы если есть фаербаг - посмотри в консоли сколько идут элементы из аякса
это неправильный подход. зачем тупо всю страницу грузить аяксом? модно, круто, но не практично. посмотри, может чтото выйдет с ajaxComplete() или ajaxSuccess(). Сам не пробовал, но может они "улавливают" окончание загрузки. Или еще вариант - заново попробовать запустить событие ready(), уже внутри функции, когда аякс запрос успешно завершен, вызвать событие ready(). Вдруг повторный вызов будет "ждать" когда вся эта шняга загрузится
если пи про первые 500 строк, то это мне посоветовали и я решил попробовать, не знаю в чем прикол но понту никакова, раньше грузилось на пхп. А если про загрузку остальных строк таблицы, то это кэш - для быстрого переключени по страницам. ajaxComplete() и ajaxSuccess() таже шкняга - сразуже при удачном ответе сервака, а вот с ready() стоит подумать, вообще с функциями документа или окна... чето не допер сразу Спасибо!
да не правильно это. на пхп сформировал весь этот список и вытолкнул на вывод. все быстро и просто. разве что можно придумать фичу, что выводить не 500 строк, а скажем 100. а внизу кнопка "показать еще", как в поиске гугла. или вешать на событие, когда страница прокручена впритык вниз, то автоматом еще подгружаем 100 строк. в таком подходе плюс в том, что если юзер вдруг зайдет не на ту страницу (эту в данном случае) то он не ждет загрузки всего, а получает только 100 строк. если нужно еще - он жмет на нужную кнопку или прокручивает вниз.