#javascript #ajax #prototypejs
#javascript #ajax #prototypejs
Вопрос:
Мы хотели бы разместить эффект темного фона (обычно мы используем для галереи изображений. ) для загрузки страницы. На самом деле у нас есть HTML-форма, только с текстовым полем и кнопкой отправки. Мы бы просто получали данные из PHP через ajax. здесь мы хотели бы реализовать загрузку изображения с эффектами темного фона. Когда на экране будут напечатаны целые данные, загрузочное изображение с темным фоном вернется к обычному фону.
Спасибо
Роджер
Обновление: — Использование этого кода для получения значения из файла php. Я новичок в Ajax / JS, если кто-нибудь может дать мне структуру кода, это хорошо для нас.
var anchorUrl2 = 'script.php';
var anchorPars1 = 'sqt=abcsd';
var anchorAjax2 = new Ajax.Updater( 'div-id', anchorUrl2, { method: 'get', parameters: anchorPars1 });
Комментарии:
1. Хорошая идея. В чем проблема?
2. посмотрите на это huddletogether.com/projects/lightbox2 , это соответствует моим требованиям. но я не смог реализовать это в нашей программе.
Ответ №1:
- При отправке формы добавьте div к
body
тегу - Установите положение этого div на фиксированное, ширину и высоту на ширину и высоту окна
- Назначьте полупрозрачный черный PNG в качестве фона
- Напишите внутри текст со словами «Пожалуйста, подождите»
- Используйте функцию обратного вызова, когда запрос ajax выполнен, чтобы удалить этот div
Комментарии:
1. 1 за ответ, который не требует включения огромной библиотеки jQuery
Ответ №2:
Попробуйте это, код должен быть понятным. Это код jquery, но вы можете извлечь из него идею.
<script type="text/javascript>
$(document).ready(function(){
$("#contentToHideWhileLoading").hide();
$("#contentToShowWhileLoading").show();
$.get(url, {parameters: anchorPars1}, function(data){
$("#placeToAppendTo").append(data.dataToAppend);
$("#contentToShowWhileLoading").hide();
$("#contentToHideWhileLoading").show();
$("#placeToAppendTo").show(); // if it wasn't visible yet
});
});
</script>
Комментарии:
1. на данный момент я не установил lightbox2.
2. Из-за моих меньших знаний в AJAX / JS. Могу ли я узнать, где мы размещаем эти коды на странице.
3. @fmsf — вопрос имеет
prototype
в качестве одного из своих тегов, поэтому разумно предположить, что он использует библиотеку прототипов. Было бы лучше предложить решение, которое работает с этим, чем сказать ему установить еще одну целую библиотеку.4. @spudley — ой, не заметил. тогда мои извинения, основные концепции те же. У меня не так много времени, чтобы изменить его прямо сейчас. Я оставлю ответ здесь в качестве ссылки.
5. Мы должны упомянуть его в любом <div> или мы должны сделать его с требуемым именем??