Форум: Форум PHPФорум ApacheФорум Регулярные ВыраженияФорум MySQLHTML+CSS+JavaScriptФорум FlashРазное
Новые темы: 0000000
C++. Мастер-класс в задачах и примерах. Авторы: Кузнецов М.В., Симдянов И.В. PHP 5/6. В подлиннике. Авторы: Кузнецов М.В., Симдянов И.В. Самоучитель MySQL 5. Авторы: Кузнецов М.В., Симдянов И.В. PHP Puzzles. Авторы: Кузнецов М.В., Симдянов И.В. MySQL на примерах. Авторы: Кузнецов М.В., Симдянов И.В.
ВСЕ НАШИ КНИГИ
Консультационный центр SoftTime

HTML+CSS+JavaScript

Выбрать другой форум

 

Здравствуйте, Посетитель!

вид форума:
Линейный форум Структурный форум

тема: сделать очистку интервала после минуты бездействия
 
 автор: TavRoX   (16.01.2011 в 20:11)   письмо автору
 
 

писал в соседней теме но решил что перемешается и вынесу сюда

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


window.setInterval(function () {        // JavaScript Устанавливаем интервал запуска нашей функции
            var lastmes = $("#message div:first-child").attr("id");
            
              // берем id последнего потомка
                $.ajax({
                    async: true,
                    url: "../blocks/showmessage.php", // указываем обработчик на стороне сервера
                    type: "POST", // указываем метод передачи данных 
                    data: {lastmes: lastmes}, // передаем переменные
                    success: function (data) {if (data){
                       $("<div id=\""+(parseInt(lastmes)+1)+"\"></div>").prependTo("#message").html(data);};}
                });
            }, 5000);


пробовал так но чет не пашет

function showFlash() {
  clearInterval(obnovljalka); //поместил верхний код в переменную обновлялка
  alert('stop');   
}

function setTime() {
  clearInterval(tm);
  tm = setInterval('showFlash()', 20000);
}

var tm = setInterval('showFlash()', 20000);
if (window.addEventListener) // mozilla, safari, chrome
    window.addEventListener('mousemove', setTime, false);
// IE, Opera.
window.onmousemove = document.onmousemove = setTime;        
            
    

  Ответить  
 
 автор: sim5   (17.01.2011 в 05:33)   письмо автору
 
   для: TavRoX   (16.01.2011 в 20:11)
 

Представьте, что вы пишите бульварный роман, охи, ахи, лямур... И вдруг стрельба, урки с ножами... Вписывается такое в канву романа вашего?

Вот так и скрипт. Вы используете jQuery, а ведь в нем очень просто назначаются обработчики событий элементам, при этом всю тяжбу по кроссбраузерности jQuery берет на себя. Вы просто слепо скопировали код, и теперь пытаетесь его прикрутить. Оно конечно не страшно, применение чистого JS как такового, но когда оно не оправдано, то читать такой JS-роман неудобно.

>как остановить данный скрипт если мышка не шевелится минуту или две....

Хотите сказать, что каждое перемещение мышки должно отправлять запрос серверу?

[поправлено модератором]

  Ответить  
 
 автор: TavRoX   (17.01.2011 в 12:37)   письмо автору
 
   для: sim5   (17.01.2011 в 05:33)
 

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

  Ответить  
 
 автор: sim5   (17.01.2011 в 12:47)   письмо автору
 
   для: TavRoX   (17.01.2011 в 12:37)
 

Я вообще ничего не говорю, я даже не понимаю, чего вам надо. У вас не вопрос, а шарада.

  Ответить  
 
 автор: TavRoX   (17.01.2011 в 12:53)   письмо автору
 
   для: sim5   (17.01.2011 в 12:47)
 

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

  Ответить  
 
 автор: sim5   (17.01.2011 в 13:02)   письмо автору
 
   для: TavRoX   (17.01.2011 в 12:53)
 

А что такое чат? Это разговор посредством клавиш, вот и отслеживайте их нажатие, при наличии которого запускаете процесс свой. Что тут такого сложного.

  Ответить  
 
 автор: TavRoX   (17.01.2011 в 13:08)   письмо автору
 
   для: sim5   (17.01.2011 в 13:02)
 

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

  Ответить  
 
 автор: TavRoX   (17.01.2011 в 15:11)   письмо автору
 
   для: TavRoX   (17.01.2011 в 13:08)
 

сделал вот так
но загвоздка как после остановки запустить поновой интервал
чтобі реагировал на закрытие алерта к примеру
function obn4at() {        // JavaScript Устанавливаем интервал запуска нашей функции
            var lastmes = $("#message div:first-child").attr("id");
            
              // берем id последнего потомка
                $.ajax({
                    async: true,
                    url: "../blocks/showmessage.php", // указываем обработчик на стороне сервера
                    type: "POST", // указываем метод передачи данных 
                    data: {lastmes: lastmes}, // передаем переменные
                    success: function (data) {if (data){
                       $("<div id=\""+(parseInt(lastmes)+1)+"\"></div>").prependTo("#message").html(data);};}
                });
            }           
           
          
           
var obnovl;
var bezd;  
        
function obnovl4at(){           
obnovl = window.setInterval(obn4at, 5000); // период между запусками функции
}


function proverk (){
   bezd = setTimeout(function(){
    clearInterval(obnovl);
    alert('Вы бездействовали на сайте в течении минуты, для автоматического обновления чата, обновите страничку!');
   },2000);
   

proverk();
obnovl4at();      
$('body').mousemove(function(){
    clearTimeout(bezd);
    proverk();

});

  Ответить  
Rambler's Top100
вверх

Rambler's Top100 Яндекс.Метрика Яндекс цитирования