Имеются 6 AJAX функции, все вызываются при открытии страницы
Для меня такой подход навечно останется загадкой. Почему бы не сделать один запрос, на сервере выполнить сценарии, которые вы собирались выполнять для всех шести? Ну да ладно... Если ближе к вопросу, то есть такой метод, как $[dot]ajaxSetup() (хоть и не очень рекомендованный), в котором можно установить параметры beforeSend и complete для всех ajax-запросов. Т.е. в beforeSend вы открываете прелоадер, а в complete - скрываете. Однако, скрывать в complete не подойдет, т.к. прелоадер будет скрыт после завершения первого же запроса. Для таких целей подойдут "Обещания" (Promise). В jQuery для таких целей есть объект Deferred со своими методами. Вот простой пример.
sarmat, очень сомневаюсь, что вы найдёте плагин, который будет полностью отвечать вашим требованиям. В любом случае, придётся "допиливать" недостающее. Можете глянуть jQuery Popup Overlay. По крайней мере:
Цитата:
Flexible and customizable: Supports multiple popup instances, custom CSS3 animations and transitions
Если плагин позволит, то можно будет прикрутить jQuery draggable и будет практически полный набор.
Skandalli, я не любитель регулярок, а в отношении парсинга HTML - неистово лютую )) Потому, что регулярные выражения никогда не были инструментом для этих целей. Поэтому даю вам такой вариант:
surrealistic pillow, для передачи на сервер массивов и объектов, преобразовывать их в json-строку - нет смысла. На что, собственно, уже намекнул DelphinPRO. Если требуется, то для объектов (не массивов), используется метод $.param(), который генерирует url-кодированную строку вида key1=val1&key2=val2&key3=val3, подобно php-функции http_build_query().
В вашем случае, это может быть реализовано таким образом:
А вы с трёх попыток догадайтесь. Мне же приходиться догадываться в чем смысл вашего вопроса. Его можно интерпретировать по разному.
В любом случае, я вам показал, как получить подстроку после слеша. Нужно еще проверить первую букву? Тогда добавьте REGEXP.
PHP не делает различий между ассоциативными и индексированными массивами, поэтому это всё "массивы" и синтаксис работы с ними ничем не отличается. А в JS и ассоциативные, и индексированные массивы - это "объекты", но отличия есть:
Если при работе с индексированными массивами, обращаться к элементам массива нужно через квадратные скобки, указывая в них индекс (arr[0]), то при работе с объектами (ассоциативными массивами), в большинстве случаев, обращаются к элементам массива через точку, указывая имя ключа:
Исключениями являются случаи, как у вас, когда ключи числовые и случаи, когда имя ключа берется из переменной. Тогда мы обращаемся к элементу так же, как и в случае с индексированными массивами, т.е. через квадратные скобки:
Кроме callback-функций, в JS есть такое понятие, как "Общания" (Promise), а в jQuery объект $.Deferred и его методы. Как их можно использовать, можете глянуть тут
Если не учитываете старые браузеры, то совсем не обязательно, всё можно сделать на стороне клиента. Сделал вам рабочий пример в песочнице. Можете протестировать прямо там со своим файлом.