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

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

06.09.2012, 23:16. Показов 3119. Ответов 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
Ответ Создать тему
Новые блоги и статьи
Контроль заполнения и очистка дат в зависимости от значения перечислений
Maks 12.04.2026
Алгоритм из решения ниже реализован на примере нетипового документа "ПланированиеПерсонала", разработанного в конфигурации КА2. Задача: реализовать контроль корректности заполнения дат назначения. . .
Архитектура слоя интернета для сервера-слоя.
Hrethgir 11.04.2026
В продолжение https:/ / www. cyberforum. ru/ blogs/ 223907/ 10860. html Знаешь что я подумал? Раз мы все источники пишем в голове ветки, то ничего не мешает добавить в голову такой источник, который сам. . .
Подстановка значения реквизита справочника в табличную часть документа
Maks 10.04.2026
Алгоритм из решения ниже реализован на примере нетипового документа "ПланированиеПерсонала", разработанного в конфигурации КА2. Задача: при выборе сотрудника (справочник Сотрудники) в ТЧ документа. . .
Очистка реквизитов документа при копировании
Maks 09.04.2026
Алгоритм из решения ниже применим как для типовых, так и для нетиповых документов на самых различных конфигурациях. Задача: при копировании документа очищать определенные реквизиты и табличную. . .
модель ЗдравоСохранения 8. Подготовка к разному выполнению заданий
anaschu 08.04.2026
https:/ / github. com/ shumilovas/ med2. git main ветка * содержимое блока дэлэй из старой модели теперь внутри зайца новой модели 8ATzM_2aurI
Блокировка документа от изменений, если он открыт у другого пользователя
Maks 08.04.2026
Алгоритм из решения ниже реализован на примере нетипового документа, разработанного в конфигурации КА2. Задача: запретить редактирование документа, если он открыт у другого пользователя. / / . . .
Система безопасности+живучести для сервера-слоя интернета (сети). Двойная привязка.
Hrethgir 08.04.2026
Далее были размышления о системе безопасности. Сообщения с наклонным текстом - мои. А как нам будет можно проверить, что ссылка наша, а не подделана хулиганами, которая выбросит на другую ветку и. . .
Модель ЗдрввоСохранения 7: больше работников, больше ресурсов.
anaschu 08.04.2026
работников и заданий может быть сколько угодно, но настроено всё так, что используется пока что только 20% kYBz3eJf3jQ
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin
Copyright ©2000 - 2026, CyberForum.ru