С Новым годом! Форум программистов, компьютерный форум, киберфорум
jQuery
Войти
Регистрация
Восстановить пароль
Блоги Сообщество Поиск Заказать работу  
 
Рейтинг 4.53/15: Рейтинг темы: голосов - 15, средняя оценка - 4.53
6 / 6 / 1
Регистрация: 16.02.2012
Сообщений: 78

Сделать задержку для AJAX на JQuery

06.09.2012, 23:16. Показов 3096. Ответов 3
Метки нет (Все метки)

Студворк — интернет-сервис помощи студентам
Делаю смену контента в одном div блоке. Все работает, один текст сменяется другим с помощью AJAX.

Я решил добавить эффект плавного исчезновения и появления с помощью изменения CSS свойств opacity, но появилась одна проблема, а именно AJAX запрос выполняется быстрее, чем происходит ичезновение блока с текстом, в итоге текст сначала меняется, а потом исчезает и появляется опять.

Как сделать, чтобы сначала завершилось исчезновение блока с текстом, потом выполнился AJAX, а затем уже измененный текст вновь приобрел opacity = 1? Задержку пробовал ставить перед AJAXом, не помогает.

JavaScript
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
//Функция, срабатывающая по клику на кнопку
function Next(eventObj){
 
        $('.main_text').animate({opacity:'0'},800);
        $('.author_main').animate({opacity:'0'},800);
        
        if((q_num)+1 == ArrLength){
            alert('Это первый написанный на сайте текст, пробуйте листать в другую сторону.');
        }
        else{
            q_num++;
            auth_num++;
 
            Get_Text(auth_num,q_num);// AJAX функция
 
            $('.main_text').animate({opacity:'1'},800);
            $('.author_main').animate({opacity:'1'},800);
        }
    }
 
//Получаем данные из текстового файла в виде двумерного массива JSON
function Get_Text(auth_num,q_num){
        $.ajax({
            type: 'POST',
            dataType: 'json',
            url: 'My.txt',
            success: function(json){
                $('.main_text').text(json.Array[q_num].text);
                $('.author_main').text(json.Array[auth_num].author);
                for(var i = 0; i <= json.Array.length; i++){
                    ArrLength = i;
                }
            }
        });
    
    }
0
cpp_developer
Эксперт
20123 / 5690 / 1417
Регистрация: 09.04.2010
Сообщений: 22,546
Блог
06.09.2012, 23:16
Ответы с готовыми решениями:

Как в $.ajax на jquery сделать return?
Добрый день, Такая проблема, Не срабатывает return из блока success в $.ajax $('.link').click(function(e) { ...

jQuery + AJAX как сделать рефреш php страницы?
В общем попробую задать вопрос как можно проще. вот такая php страничка (reg.php): &lt;form id=&quot;regForm&quot;&gt; ....... ...

Ajax, jQuery, как сделать прогресс бар обработки серверной функции
Всем привет! Разрабатываю веб-приложение. Js, Jquery, Ajax, серверная часть на Python. С помощью ajax отправляю файл docx на сервер,...

3
 Аватар для Soldado
901 / 833 / 198
Регистрация: 28.06.2012
Сообщений: 1,607
Записей в блоге: 4
07.09.2012, 09:41
Метод .animate({'css свойство':'новое значение'}, время изменения, функция) - функция, которая у Вас отсутствует в свойстве .animate (это допускается), может быть функцией ajax, т.е. в строке 15 убрать Get_Text(auth_num,q_num); и поставить в .animate.
Появление блока можно также сделать отдельной функцией, запуск этой анимации осуществить из success Ajax запроса.

Таким образом Аjax запустится после выполнения анимации исчезновения, а после выполнения Аjax-запроса запустится анимация появления.
1
6 / 6 / 1
Регистрация: 16.02.2012
Сообщений: 78
07.09.2012, 14:14  [ТС]
Упустил такой момент) Спасибо!
0
6 / 6 / 1
Регистрация: 16.02.2012
Сообщений: 78
11.09.2012, 16:00  [ТС]
Теперь возникли проблеммы с записью в JSON в сам файл, а не чтение. Не знал в какую тему написать в jQuery или PHP.

Как в таком же формате продолжить дозаписывать данные в массив JSON в txt файл? Я думаю, что извлекать сначала массив Array[] полностью будет неправильно, т.к. это займет очень много времени и ресурсов, если например записей будет не 5, а 5000 или еще больше.

Вопрос: каким способом можно дописать в массив Array[] в поля text и author данные? Чтобы просто дописать в конец массива, как в файл. Или же как дописать просто в текст файл в формате подобном JSON? И последний вопрос, как это реализовать с помощью AJAX, хотя бы примерный алгоритм? За раннее спасибо!

Пробовал дописать просто в файл в формате подобном JSON, но сразу возникла проблемма с отображением русских букв:

PHP
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
<?php
//Получаем переменные при попытке опубликовать цитату
$text_JSON = $_POST["text"];
$author_JSON = $_POST["author"];
//$tema_JSON = $_POST["tema"];
//$email_JSON = $_POST["email"];
 
 
$list_text = array("author" => $author_JSON , "text" => $text_JSON);
$list_text_JSON = json_encode($list_text);
 
file_put_contents("My.txt", "Автор $author_JSON   "."   Текст $text_JSON \n", FILE_APPEND);
 
echo "Ваш отзыв будет опубликован сразу после проверки. 
     $list_text_JSON
     </br> Спасибо за Ваше время!"
 
?>
В результате $list_text_JSON выводится следующее:

Ваш отзыв будет опубликован сразу после проверки. {"author":"\u0410\u0432\u0442\u043e\u044 0 \u043e\u0442\u0437\u044b\u0432\u0430!"," text":"\u041e\u043f\u0443\u0431\u043b\u0 438\u043a\u043e\u0432\u0430\u0442\u044c \u043e\u0442\u0437\u044b\u0432!"}
Спасибо за Ваше время!"


Добавлено через 12 минут
Удалите пожалуйста последнее сообщение, добавил его в более подходящую тему.
0
Надоела реклама? Зарегистрируйтесь и она исчезнет полностью.
raxper
Эксперт
30234 / 6612 / 1498
Регистрация: 28.12.2010
Сообщений: 21,154
Блог
11.09.2012, 16:00
Помогаю со студенческими работами здесь

JQuery, Ajax и LIVE!? Возможно ли повесить ajax запрос на live?
все делаю правильно, но у меня даже onSubmit alert(&quot;ok!&quot;); выводить не хочет? код примерно такой: ...

Как сделать задержку для выстрелов
Делаю игру используя c++ и sfml. Хочу спросить как сделать задержку для выстрелов,чтобы пули не вылетали кучей,а очередями? Вот участок...

Можно ли тултип сделать на jQuery для WinForms приложения и как вызвать скрипт jQuery
Здравствуйте! Есть тестовый редактор (Winforms c#).Как сделать, чтобы при подводе курсора на слово появлялся тултип с текстом? Можно ли...

Нужно сделать задержку выпадения категорий второго уровня, для вертикального меню
&lt;div id=&quot;block&quot; style=&quot;position:relative;&quot;&gt; &lt;h3&gt;Каталог товаров&lt;/h3&gt; &lt;div id=&quot;navcontainer&quot;&gt; &lt;ul id=&quot;menuroot&quot;&gt; &lt;li&gt; ...

PHP+jQuery.ajax - только для залогиненого пользователя
Доброй ночи. Ситуация - есть WEB прилада, работает только если юзверь залогинился. Прикрутил AJAX, написал обработчик url:...


Искать еще темы с ответами

Или воспользуйтесь поиском по форуму:
4
Ответ Создать тему
Новые блоги и статьи
WordPad для Windows 11
Jel 10.01.2026
WordPad для Windows 11 — это приложение, которое восстанавливает классический текстовый редактор WordPad в операционной системе Windows 11. После того как Microsoft исключила WordPad из. . .
Classic Notepad for Windows 11
Jel 10.01.2026
Old Classic Notepad for Windows 11 Приложение для Windows 11, позволяющее пользователям вернуть классическую версию текстового редактора «Блокнот» из Windows 10. Программа предоставляет более. . .
Почему дизайн решает?
Neotwalker 09.01.2026
В современном мире, где конкуренция за внимание потребителя достигла пика, дизайн становится мощным инструментом для успеха бренда. Это не просто красивый внешний вид продукта или сайта — это. . .
Модель микоризы: классовый агентный подход 3
anaschu 06.01.2026
aa0a7f55b50dd51c5ec569d2d10c54f6/ O1rJuneU_ls https:/ / vkvideo. ru/ video-115721503_456239114
Owen Logic: О недопустимости использования связки «аналоговый ПИД» + RegKZR
ФедосеевПавел 06.01.2026
Owen Logic: О недопустимости использования связки «аналоговый ПИД» + RegKZR ВВЕДЕНИЕ Введу сокращения: аналоговый ПИД — ПИД регулятор с управляющим выходом в виде числа в диапазоне от 0% до. . .
Модель микоризы: классовый агентный подход 2
anaschu 06.01.2026
репозиторий https:/ / github. com/ shumilovas/ fungi ветка по-частям. коммит Create переделка под биомассу. txt вход sc, но sm считается внутри мицелия. кстати, обьем тоже должен там считаться. . . .
Расчёт токов в цепи постоянного тока
igorrr37 05.01.2026
/ * Дана цепь постоянного тока с сопротивлениями и напряжениями. Надо найти токи в ветвях. Программа составляет систему уравнений по 1 и 2 законам Кирхгофа и решает её. Последовательность действий:. . .
Новый CodeBlocs. Версия 25.03
palva 04.01.2026
Оказывается, недавно вышла новая версия CodeBlocks за номером 25. 03. Когда-то давно я возился с только что вышедшей тогда версией 20. 03. С тех пор я давно снёс всё с компьютера и забыл. Теперь. . .
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin
Copyright ©2000 - 2026, CyberForum.ru