![]() |
Модераторы: Sardar, Aliance |
![]() ![]() ![]() |
|
kuksha |
|
|||
Бывалый ![]() Профиль Группа: Участник Сообщений: 154 Регистрация: 15.6.2011 Репутация: нет Всего: нет |
Изначально нужно сделать из JS запрос к базе и вывести результат в отдельном окошке со скролом.
Поскольку нужна прокрутка и копирование данных из окна, то всплывающий DIV вроде отпадает - нужно именно окошко. Делаю так:
То есть, вызывается .post, получаются данные из URL, обрабатываются в функции AjaxZV, результаты в которой записываются в глобальную переменную Global_data_out затем эти данные выводятся в новом окне при помощи open_big_foto. В итоге получается, что метод .post запускается отдельным процессом, а потом сразу отрабатывает функция open_big_foto, не дожидаясь завершения отдельного процесса .post. Поскольку данные Global_data_out ещё не готовы, то функция open_big_foto показывает пустое окно... (контрольный алерт, поставленный в конце AjaxZV отображается после появления всплывающего окна, которое рисуется с помощью open_big_foto в основном теле скрипта, то есть AjaxZV явно отправлено в независимый поток...) Пробовал функцию open_big_foto вызывать прямо в конце функции AjaxZV, но тогда браузер блокирует всплывающее окно. Можно поставить цикл перед open_big_foto, который будет крутиться, пока Global_data_out не заполнится, но это очень некрасиво. Что делать? Это сообщение отредактировал(а) kuksha - 15.11.2013, 22:15 |
|||
|
||||
DEER |
|
||||
![]() Опытный ![]() ![]() Профиль Группа: Участник Сообщений: 749 Регистрация: 12.4.2005 Где: г. Рязань Репутация: 2 Всего: 13 |
не факт. ![]()
в вашем варианте можно передать в post параметр async:false, тогда вызов open_big_foto дождется отработки AjaxZV -------------------- |
||||
|
|||||
kuksha |
|
|||
Бывалый ![]() Профиль Группа: Участник Сообщений: 154 Регистрация: 15.6.2011 Репутация: нет Всего: нет |
Переделал на аякс и jquery, чтобы можно было асинхронность использовать. Результат - данные передаются как надо, но окно снова блокируется браузером...
А как по-другому? Мне полосы прокрутки в окне нужны - я не знаю заранее объём данных... DEER, можете пример привести? |
|||
|
||||
DEER |
|
|||
![]() Опытный ![]() ![]() Профиль Группа: Участник Сообщений: 749 Регистрация: 12.4.2005 Где: г. Рязань Репутация: 2 Всего: 13 |
ну вот, например
-------------------- |
|||
|
||||
kuksha |
|
|||
Бывалый ![]() Профиль Группа: Участник Сообщений: 154 Регистрация: 15.6.2011 Репутация: нет Всего: нет |
DEER, спасибо:) Правда такой ссылкой и пришибить ненароком можно... я не профи - любитель...
В принципе нашёл - style overflow-y: scroll; Скрол заработал. Но, если переходить на дивы, то хотелось бы ничего не потерять от обыкновенных окон... 1. Надо иметь возможность размер дива мышкой менять 2. Перетаскивать блок DIV мышкой. (ужасно не хочется самому писать кучу кода для таких действий - нудно и неинтересно. Может что-то готовое есть? Типа "подключил библиотеку, указал тип дива и пользуйся"? ) Вообще, меня и всплывающие окна устраивают, но как-то нестабильно они работают - то блокируются браузером, если до их вызова POST использовался, то нормально отображаются. Если всплывающие окна вызываются без предварительной подкачки данных с сервера POST-ом, то блокировок никогда нет... может просто какой-то флаг принудительно сбрасывать надо? |
|||
|
||||
kuksha |
|
|||
Бывалый ![]() Профиль Группа: Участник Сообщений: 154 Регистрация: 15.6.2011 Репутация: нет Всего: нет |
||||
|
||||
![]() ![]() ![]() |
Форум для вопросов, которые имеются в справочниках, но их поиск вызвал затруднения, или для разработчика требуется совет или просьба отыскать ошибку. Напоминаем: 1) чётко формулируйте вопрос, 2) приведите пример того, что уже сделано, 3) укажите явно, нужен работающий пример или подсказка о том, где найти информацию. |
0 Пользователей читают эту тему (0 Гостей и 0 Скрытых Пользователей) | |
0 Пользователей: | |
« Предыдущая тема | JavaScript: Общие вопросы | Следующая тема » |
|
По вопросам размещения рекламы пишите на vladimir(sobaka)vingrad.ru
Отказ от ответственности Powered by Invision Power Board(R) 1.3 © 2003 IPS, Inc. |