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

HTML+CSS+JavaScript

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

 

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

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

тема: Перезапустить setInterval
 
 автор: Andrey_V   (09.11.2009 в 16:39)   письмо автору
 
 

У меня функция, в которой есть

setInterval("move()", 2000)


при необходимости я ее останавливаю:

clearInterval()


А потом мне снова нужно использоваться функцию в которой этот setInterval("move()", 2000)

Как это можно сделать?

   
 
 автор: АЯ   (09.11.2009 в 18:30)   письмо автору
 
   для: Andrey_V   (09.11.2009 в 16:39)
 

1. Так - setInterval("move()", 2000) пишут только лохи.
Нормальные пацаны кавычки здесь не пользуют: setInterval(move, 2000)

2. Интервал вы не останавливаете. Конструкция clearInterval() бессмысленна и не делает НИЧЕГО. Вообще ничего.
Ибо чтобы "что-то" остановить, надо это "что-то" идентифицировать.
Надо делать так:
var abrakadabra = setInterval (move, 2000);
...
clearInterval (abrakadabra);
Вот тогда будет останавливать. Ибо есть "что" останавливать.

3. Свой главный вопрос попробуйте сформулировать более понятно.
И при формулировке постарайтесь вспомнить школьный курс русского языка.
Ибо "мне снова нужно использоваться функцию" весьма напоминает разговор чукчи - "моя твоя не понимай".

   
 
 автор: jangot   (09.11.2009 в 18:31)   письмо автору
 
   для: Andrey_V   (09.11.2009 в 16:39)
 

также

   
 
 автор: Andrey_V   (09.11.2009 в 19:14)   письмо автору
 
   для: jangot   (09.11.2009 в 18:31)
 

Конечно, хотелось бы получить ответ. Но в связи с дискуссией о параллельных вопросах напомню:
- нормальные пацаны - термин явно не из мира компьютерщиков - это из лагерно-блатного лексикона, чем, я понимаю, Вы здесь не специально блеснули;
- в школьном курсе русского языка указывается: местоимение вы с маленький буквы пишется при обращении к группе лиц, а при обращении к одному человеку пишется с большой буквы; и естественно, Вы понимаете, что замеченный Вами недочет свидетельствует не об огрехах в познаниях русского языка, а об элементарной описке. Хотя смысл, наверное, понятен - Вы же не компьютерным языком мыслите, а русским. Кстати в нем достаточно много практически или почти нерешаемых вопросов. Меня порадовала Ваша требовательность к языку. Попробуйте поправить дикторов на телевидении - у них ошибок в речи гораздо больше и там они гораздо более нетерпимы.
- что касается лохов - все мы лохи в подавляющем числе окружающих вопросов. Не факт, что тот, кто пишет "move()" без кавычек лох в меньшей степени; хотя и конструкция с кавычками работает. Но за этот совет спасибо, так что, благодаря Вам в этом вопросе я уже не лох;
- конечно, clearInterval() используется с употреблением абракадабры, коей в данном случае и является id_move: т.е. на самом деле в тексте это clearInterval(id_move). Написал так для того, чтобы заострить внимание на используемой возможности JS;
- а упоминание некоей конкретной национальности - неполиткорректно, если сам упоминающий не является представителем этой национальности. Вы неполиткорректны или чукча?

А теперь о том, что надо.

Надо чтобы при нажатии кнопки мыши запускалась функция в которой работает setInterval (move, 2000). При отпускании кнопки работа таймера должна прекращаться - делаем clearInterval(id_move). Все срабатывает нормально. Но когда в следующий раз нажимаем кнопку - снова должна запуститься функция и в ней должна работать setInterval (move, 2000).Естественно, после отпускания кнопки - снова останавливаться и т.д.

Полный текст кода (move() уже без кавычек!):
(запуск по событиям: onMouseDown="init_move()" onMouseUp="stop()")
var y_start;
var dy = 0;
var y_cur = 0;
id_move = setInterval(move(), 2000);

function imouse(event){
  y_cur = event.clientY;    
}

function init_move()
{
y_start = y_cur;    
move()    
}

function move()
{
    dy = y_cur - y_start;
    var y_2 = parseInt(document.getElementById ('two').style.height);
    var y_4 = parseInt(document.getElementById ('four').style.height);
    y_ist = y_cur-70;
    y_max = Math.floor((y_2 + y_4)*0.8);
    y_min = Math.floor((y_2 + y_4)*0.2);

        if (y_ist > y_min)
            {
                if (y_ist < y_max)
                    {
                        document.getElementById ('two').style.height = y_2 + dy + 'px'
                        document.getElementById ('four').style.height = y_4 - dy + 'px'
                        y_start = y_cur;    
                    }
            }
}

function stop()
{
clearInterval(id_move);    
}
  

   
 
 автор: АЯ   (10.11.2009 в 01:15)   письмо автору
 
   для: Andrey_V   (09.11.2009 в 19:14)
 

>"- нормальные пацаны - это из лагерно-блатного лексикона"
Вас кто-то обманул - в лагерно-блатном лексиконе ("фене") понятия "нормальный пацан" нет.

>"- местоимение вы с маленький буквы пишется при обращении к группе лиц, а при обращении к одному человеку пишется с большой буквы"
И здесь вы ошиблись. Прочтите, например, это - "единственная ситуация, которая требует от вас написания местоимения Вы с большой буквы, - это официальное письмо, обращенное к одному конкретному человеку."

>"за этот совет спасибо, так что, благодаря Вам в этом вопросе я уже не лох"
Нет, ещё пока лох. Кавычки убрали, а вот круглые скобки убрать забыли.

>"Вы неполиткорректны или чукча?"
Я неполиткорректен принципиально: "чёрную дыру" называю "чёрной дырой", а не "афроотверстием".
И, вообще, полагаю, что "нормальный человек должен быть белым", а "чукча должен жить в чуме".
---

По сути:
1. Сделайте замену:
вместо
id_move = setInterval(move(), 2000);
пропишите
var id_move;

2. В функцию move () добавьте строку:
...
    y_start = y_cur;    
                    }
            }
id_move = setInterval(move, 2000); //и без лишних круглых скобок

   
 
 автор: Andrey_V   (11.11.2009 в 10:09)   письмо автору
 
   для: АЯ   (10.11.2009 в 01:15)
 

1

   
 
 автор: Andrey_V   (11.11.2009 в 10:12)   письмо автору
 
   для: АЯ   (10.11.2009 в 01:15)
 

>Вас кто-то обманул - в лагерно-блатном лексиконе ("фене") понятия "нормальный пацан" нет.<
Феня - это не лексикон, а язык. А "Нормальный пацан" - жаргон даже не блатных, а приблатененных.

>И здесь вы ошиблись. Прочтите, например, это<
Упомянутая Вами мадам даже не смогла точно списать с первоисточника. Поищите первоисточник ее измышлений. Это во-первых. Во-вторых - существует Русский язык. И его извращения как шило в мешке - чрезвычайно очевидны. Существует ещинственное и множественное число. Единственное - ты, множественное Вы. Вы допустимо использовать как форму вежливого обращения и, естественно, с большой буквы. Все остальные разъяснения - безграмотная галиматья. Даже если их делают кандидаты наук, доктора и академики. Это подачки безграмотным. А у Вас есть своя голова. В свое время больше половины академиков предлагали писать в именительном падеже "яйца", а в родительном "еиц" - потому, что так слышно. Но яйца так и остались яйцами. А еще был академик Лысенко, который говорил, что изменением условий содержания из кукушонка можно вырастить соловья. И по этим его учебникам много лет сдавали экзамены те, кого потом стали называть генетиками. Поэтому генетика до сих пор в афроотверстии. Из этой же оперы - разъяснение, что мат на сцене театра - новое слово в Искусстве. И если Вам завтра очередной проходимец, чтобы получить докторскую степень напишет, что соленые огурцы теперь являются мочеными яблоками - не верьте!. И не читайте на ночь большевистских газет, и таких как та, на которую Вы сослались. То же и относительно радио "Эхо Москвы". Читайте и слушайте тех кто любит свою, а не чужую Родину.
>Нет, ещё пока лох. Кавычки убрали, а вот круглые скобки убрать забыли.<
Ну видите - всего два сеанса и по этой строке я уже не лох. Хотя еще раз повторюсь по подавляющему большинству вопросов все мы лохи.
>Я неполиткорректен принципиально: "чёрную дыру" называю "чёрной дырой", а не "афроотверстием".
И, вообще, полагаю, что "нормальный человек должен быть белым", а "чукча должен жить в чуме".<
Ну если гордиться своим происхождением, которое, кстати, от Вас не зависело, то возможны варианты:
если Вы теист - то все жители планеты произошли от двенадцати колен израилевых и их место в Израиле;
если Вы атеист и дарвинист - значит Вы изначальный африканец, появившийся на пальмах восточной Африки;
если последователь майа - Вам вообще не место на этой планете,
и т.д.
и, к сожалению, отсутствует историческое обоснование нахождения нас здесь, а чукчей в чуме.
Кстати, белые люди из Европы или Америки считают белых людей из России людьми второго сорта. И вряд ли делают различие между европейскими россиянами и чукчами. Кстати были и есть еще и те, кто на белых в России смотрит через призму "Майн кампф" и дверку газовых печей.

По сути: спасибо, помогло.

   
 
 автор: coloboc66   (11.11.2009 в 10:35)   письмо автору
 
   для: Andrey_V   (11.11.2009 в 10:12)
 

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

   
Rambler's Top100
вверх

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