Модераторы: Sardar, Aliance

Поиск:

Ответ в темуСоздание новой темы Создание опроса
> JQuery. Задержка выполнения скрипта 
V
    Опции темы
wsok
Дата 21.6.2011, 11:54 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Новичок



Профиль
Группа: Участник
Сообщений: 9
Регистрация: 21.6.2011

Репутация: 1
Всего: 1



Всё вопрос снят, я тупо сувал скрипту переменную валуе, которая постоянно менялась при вводе, вот и получался некий массив данных с которыми я так безуспешно боролся и совершенно забыл про упоминание в вашем примере этой фишки .val(), так что теперь всё ок, работает как и надо, но вместо таймайт я использую интервал.
PM MAIL   Вверх
Gold Dragon
Дата 21.6.2011, 12:45 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Призрачный
****


Профиль
Группа: Экс. модератор
Сообщений: 6753
Регистрация: 1.3.2004
Где: Россия, Тамбов

Репутация: нет
Всего: 71



Цитата(wsok @  21.6.2011,  12:54 Найти цитируемый пост)
но вместо таймайт я использую интервал
Зачем?



--------------------
Нельзя жить в прошлом, оно уже прошло.
Нельзя жить в будущем, оно ещё не наступило.
Нужно жить в настоящем, помня прошлое и думая о будущем!
PM MAIL WWW ICQ   Вверх
wsok
Дата 22.6.2011, 00:34 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Новичок



Профиль
Группа: Участник
Сообщений: 9
Регистрация: 21.6.2011

Репутация: 1
Всего: 1



Цитата(Gold Dragon @ 21.6.2011,  12:45)
Цитата(wsok @  21.6.2011,  12:54 Найти цитируемый пост)
но вместо таймайт я использую интервал
Зачем?

Разве плохо? Вроде работает у меня и вполне неплохо, вот код


Код

function seu(value) {
var cu = 2;
var users = $("#users");
var itog = $("#itog"); 
var timer = setInterval(function(){
cu--;
$("#seu").keyup(function(){
clearInterval(timer);
});

$("#secunda").html('<br><b>ожидание окончания ввода данных</b>');
if(cu == 0 ) {
itog.html('<br><img src=images/ajax-loader.gif>');
users.fadeTo(500, 0.4);
$("#secunda").html('');

$.post(
'../plugins/users/admin/ajax.inc.admin/usersload.php',
{
act: "users",
id: $("#seu").val()
},
function (data) {
users.html(data);
users.fadeTo(500, 1);
}
);
$.post(
'../plugins/users/admin/ajax.inc.admin/usersload.php',
{
act2: "itog",
id: $("#seu").val()
},
function (data) {
itog.html(data);
}
);

clearInterval(timer);    
}    
},1000);    
}


чем так плох интервал?
PM MAIL   Вверх
Gold Dragon
Дата 22.6.2011, 07:16 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Призрачный
****


Профиль
Группа: Экс. модератор
Сообщений: 6753
Регистрация: 1.3.2004
Где: Россия, Тамбов

Репутация: нет
Всего: 71



Цитата(wsok @  22.6.2011,  01:34 Найти цитируемый пост)
чем так плох интервал? 
да тем что выполняет код много раз, через равные промежутки времени.. вопрос: а зачем это? smile Ну т.е. задача у функции другая изначально ;)



--------------------
Нельзя жить в прошлом, оно уже прошло.
Нельзя жить в будущем, оно ещё не наступило.
Нужно жить в настоящем, помня прошлое и думая о будущем!
PM MAIL WWW ICQ   Вверх
wsok
Дата 22.6.2011, 08:42 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Новичок



Профиль
Группа: Участник
Сообщений: 9
Регистрация: 21.6.2011

Репутация: 1
Всего: 1



Цитата(Gold Dragon @ 22.6.2011,  07:16)
Цитата(wsok @  22.6.2011,  01:34 Найти цитируемый пост)
чем так плох интервал? 
да тем что выполняет код много раз, через равные промежутки времени.. вопрос: а зачем это? smile Ну т.е. задача у функции другая изначально ;)

ну видишь в моём коде переменную cu--; ?

Вдруг я решу вывести визуально обратный отсчёт до совершения действия? Например, Ожидание ввода данных 5 секунд

4
3
2
1
0

а теперь ищем =))

Это сообщение отредактировал(а) wsok - 22.6.2011, 08:43
PM MAIL   Вверх
Gold Dragon
Дата 22.6.2011, 09:28 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Призрачный
****


Профиль
Группа: Экс. модератор
Сообщений: 6753
Регистрация: 1.3.2004
Где: Россия, Тамбов

Репутация: нет
Всего: 71



ааа, ну тогда да.. Согласен что так интереснее ;)
вот только зачем он тут нужен  smile 


--------------------
Нельзя жить в прошлом, оно уже прошло.
Нельзя жить в будущем, оно ещё не наступило.
Нужно жить в настоящем, помня прошлое и думая о будущем!
PM MAIL WWW ICQ   Вверх
wsok
Дата 22.6.2011, 09:58 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Новичок



Профиль
Группа: Участник
Сообщений: 9
Регистрация: 21.6.2011

Репутация: 1
Всего: 1



Цитата(Gold Dragon @ 22.6.2011,  09:28)
ааа, ну тогда да.. Согласен что так интереснее ;)
вот только зачем он тут нужен  smile

согласен, может в данном случае это не столь нужно, но ведь этот пример одним поиском не ограничивается, может кому то как раз и нужен пример кода с интервалом, чтоб выводить пользователю таймер?

А так согласен, можно интервал заменить на таймаут, но то что в данной теме есть уже два варианта кода с таймаут и интервалом, это уже нормально, может нуждающиеся выберут нужное решение для своих дел, глянув эту ветку.

В обоих случаях думаю получилось неплохо и главное всё работает как надо =)
PM MAIL   Вверх
wsok
Дата 22.6.2011, 10:13 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Новичок



Профиль
Группа: Участник
Сообщений: 9
Регистрация: 21.6.2011

Репутация: 1
Всего: 1



В моём случае, я поиск встроил в раздел управления пользователями в админке CMS, которую пишу сам. Так как CMS ещё в в процессе, я н выложил демо в сеть, записал видео работы этого кода в моём примере.

http://www.youtube.com/watch?v=JWLPNJ1YMY0

В общем я обязан этой теме, что удалось довести код до готовности, что и видно на видео =)

По моему раздел управления пользователями вполне неплохо получился =)

Это сообщение отредактировал(а) wsok - 22.6.2011, 10:19
PM MAIL   Вверх
Gold Dragon
Дата 22.6.2011, 11:25 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Призрачный
****


Профиль
Группа: Экс. модератор
Сообщений: 6753
Регистрация: 1.3.2004
Где: Россия, Тамбов

Репутация: нет
Всего: 71





--------------------
Нельзя жить в прошлом, оно уже прошло.
Нельзя жить в будущем, оно ещё не наступило.
Нужно жить в настоящем, помня прошлое и думая о будущем!
PM MAIL WWW ICQ   Вверх
wsok
Дата 22.6.2011, 11:33 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Новичок



Профиль
Группа: Участник
Сообщений: 9
Регистрация: 21.6.2011

Репутация: 1
Всего: 1



Цитата(Gold Dragon @ 22.6.2011,  11:25)
вот мой пример
http://tigris-tambov.ru/files/Project002.avi
smile

Тоже интересный вариант =)

Ну нечто такое я реализую на самом уже сайте, для админки достаточно того, что уже получилось.

В принципе функционально можно догнать и гугл поиск, там где выводится ещё и автозавершение вариантов поиска в выпадающем меню под формой ввода, но тоже надо покумекать, как это работает =)
PM MAIL   Вверх
Gold Dragon
Дата 22.6.2011, 11:35 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Призрачный
****


Профиль
Группа: Экс. модератор
Сообщений: 6753
Регистрация: 1.3.2004
Где: Россия, Тамбов

Репутация: нет
Всего: 71



там всё просто.. только для такого не хватит мощности наших хостингов smile 1000 челов зайдут и сервер базы ляжет 


--------------------
Нельзя жить в прошлом, оно уже прошло.
Нельзя жить в будущем, оно ещё не наступило.
Нужно жить в настоящем, помня прошлое и думая о будущем!
PM MAIL WWW ICQ   Вверх
wsok
Дата 22.6.2011, 11:42 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Новичок



Профиль
Группа: Участник
Сообщений: 9
Регистрация: 21.6.2011

Репутация: 1
Всего: 1



Цитата(Gold Dragon @ 22.6.2011,  11:35)
там всё просто.. только для такого не хватит мощности наших хостингов smile 1000 челов зайдут и сервер базы ляжет

потому и наверно лучше в админке такое делать, там где точно 1000 юзеров не зайдёт =))
PM MAIL   Вверх
minka92
Дата 13.1.2013, 02:22 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Новичок



Профиль
Группа: Участник
Сообщений: 2
Регистрация: 13.1.2013

Репутация: нет
Всего: нет



Всем привет)
Я новичок в яве скорее даже ламер, прошу вашей помощи,
В начале я планировал организовать поиск по сайту используя одно поле, вводишь текст а он по нему ищет результаты и выдает их в див, но столкнулся с проблемкой, когда вводишь данные слишком быстро запросы начинают теряться, решил оттянуть запрос чтобы они выполнялись через определенное время после последней вбитой в поле буквы и наткнулся на этот форум попроб-вал запихнуть функции постами выше, в существуюзий код, только выполняется он у меня когда загружается страница после загрузки и исполнения кода застывает в конце и не позволяет чего либо дописать в поле, может ли кто-нить помочь разобраться в чем проблема...

Код

<script>
            $(function() {
            var result = $('#result'); 
            var load = $('#load');
            var cu = 2;
            var search = $('#search').val();
            var timer = setInterval(function(){
            cu--;
            
            $('#search').keyup(function(){
            clearInterval(timer);
            });
            load.html('<br><b>ожидание окончания ввода данных</b>');

            if(cu == 0 ) {
            
            load.html('тест');
            result.fadeTo(500, 0.4);
                
                 
                    var year='".$year."';
                    var keystamp='564';
                    
                         $.ajax({
                            type: 'POST',
                            url: 'search.php',
                            data: {'search': search, 'year': year, 'keystamp': keystamp },
                            cache: false,                        
                            success: function(response){
                                        result.html(response);
                                        users.fadeTo(500, 1);
                                        load.html('');
                                     }
                         });
                         return false;
                         
                clearInterval(timer);
                }
                
                },2000); 
                
            });
        </script>



PM MAIL   Вверх
Aliance
Дата 14.1.2013, 10:21 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


I ♥ <script>
****


Профиль
Группа: Модератор
Сообщений: 6418
Регистрация: 2.8.2004
Где: spb

Репутация: 7
Всего: 137



Для этой задачи нужно использовать плагин jQuery под названием Throttle-debounce.
PM MAIL WWW ICQ Skype   Вверх
minka92
Дата 15.1.2013, 00:20 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Новичок



Профиль
Группа: Участник
Сообщений: 2
Регистрация: 13.1.2013

Репутация: нет
Всего: нет



Спасибо прочитал про него значит то что выше выкидываем оставляя обработчик запроса и затачиваем под Throttle-debounce??

Сделал вот так и опять тишина библиотеку подключил (которая не min) :(

Код

 <script type='text/javascript'>
             $(function() {
            var result = $('#result'); 
            var load = $('#load');
            var search = $('#search').val();
            var year='".$year."';
            var keystamp='564';
                        
            function onKeyUp() { 

                    $.ajax({
                            type: 'POST',
                            url: 'search.php',
                            data: {'search': search, 'year': year, 'keystamp': keystamp },
                            cache: false,                        
                            success: function(response){
                                        result.html(response);
                                     }
                         });
                         return false;
                });
                                
            

            
            $('#search').keyup($.debounce(300, onKeyUp));
            
            
            
      });
                
       
        </script>


Посмотрите я на правильном пути??

Это сообщение отредактировал(а) minka92 - 15.1.2013, 09:05
PM MAIL   Вверх
Страницы: (3) Все 1 [2] 3 
Ответ в темуСоздание новой темы Создание опроса
1 Пользователей читают эту тему (1 Гостей и 0 Скрытых Пользователей)
0 Пользователей:
« Предыдущая тема | JavaScript: Применение библиотек | Следующая тема »


 




[ Время генерации скрипта: 0.0907 ]   [ Использовано запросов: 21 ]   [ GZIP включён ]


Реклама на сайте     Информационное спонсорство

 
По вопросам размещения рекламы пишите на vladimir(sobaka)vingrad.ru
Отказ от ответственности     Powered by Invision Power Board(R) 1.3 © 2003  IPS, Inc.