Javascript.RU

Создать новую тему Ответ
 
Опции темы Искать в теме
  #1 (permalink)  
Старый 08.02.2016, 19:07
Новичок на форуме
Отправить личное сообщение для Болат Посмотреть профиль Найти все сообщения от Болат
 
Регистрация: 28.01.2016
Сообщений: 5

не могу полностью остановить setInterval
при нажатии на кнопку запускается setInterval, но при нескольких запусках останавливается только последний!
<!DOCTYPE html>
<html>
 <head>
  <title>Lesson 9</title>
<script>
var $rot=0;
  var $tim3;
  var c=0;
  var t;
  var timer_is_on=0;

function my_click_but1($event) 
{$tim3=setInterval("rotinp(5);",1000);}

function my_click_but2($event)
{ clearInterval($tim3);}

function rotinp($pl) 
{$rot=$rot+$pl;
document.getElementById('text2').style.transform="rotate("+$rot+"deg)";
}
</script>
</head>
<body>
<input type=text id="text2">
<div id="div1"></div></br>
<input type=button id="but1" value="Включить SetInterval"
onClick="my_click_but1(event);">
<input type=button id="but2" value="Выключить SetInterval"
onClick="my_click_but2(event);"></br></br>
</body>
</html>
Ответить с цитированием
  #2 (permalink)  
Старый 08.02.2016, 19:39
Аватар для рони
Профессор
Отправить личное сообщение для рони Посмотреть профиль Найти все сообщения от рони
 
Регистрация: 27.05.2010
Сообщений: 33,121

Болат,
function my_click_but1($event)
{my_click_but2();$tim3=setInterval("rotinp(5);",1000);}
Ответить с цитированием
  #3 (permalink)  
Старый 08.02.2016, 19:47
Аватар для DynkanMaclaud
Профессор
Отправить личное сообщение для DynkanMaclaud Посмотреть профиль Найти все сообщения от DynkanMaclaud
 
Регистрация: 08.08.2014
Сообщений: 261

Болат,
https://jsfiddle.net/3rztdx2m/1/
Я решил написать код в такой же манере как пишешь его Ты, т.е
function get ()
{ alert('why') };

Удобно правда?
Ответить с цитированием
  #4 (permalink)  
Старый 08.02.2016, 19:50
Новичок на форуме
Отправить личное сообщение для Болат Посмотреть профиль Найти все сообщения от Болат
 
Регистрация: 28.01.2016
Сообщений: 5

Сообщение от рони Посмотреть сообщение
Болат,
function my_click_but1($event)
{my_click_but2();$tim3=setInterval("rotinp(5);",1000);}
Спасибо, интересное решение, но он теперь не ускоряет вращение при повторном нажатии, а сразу его удаляет!!! нужно чтобы при нескольких нажатиях ускорял, а затем сразу все отключал!
Ответить с цитированием
  #5 (permalink)  
Старый 08.02.2016, 19:50
Аватар для DynkanMaclaud
Профессор
Отправить личное сообщение для DynkanMaclaud Посмотреть профиль Найти все сообщения от DynkanMaclaud
 
Регистрация: 08.08.2014
Сообщений: 261

рони,
я чето подумал что будет как то неправильным очищать интервал когда его еще нету((
Ответить с цитированием
  #6 (permalink)  
Старый 08.02.2016, 19:55
Аватар для рони
Профессор
Отправить личное сообщение для рони Посмотреть профиль Найти все сообщения от рони
 
Регистрация: 27.05.2010
Сообщений: 33,121

Сообщение от DynkanMaclaud
я чето подумал что будет как то неправильным очищать интервал когда его еще нету((
можно мин нет, и очищать можно любым clear... главное указать идентификатор
Ответить с цитированием
  #7 (permalink)  
Старый 08.02.2016, 19:58
Аватар для рони
Профессор
Отправить личное сообщение для рони Посмотреть профиль Найти все сообщения от рони
 
Регистрация: 27.05.2010
Сообщений: 33,121

Сообщение от Болат
не ускоряет вращение при повторном нажатии
так изменяйте скорость а не количество интервалов, а лучше забыть про setInterval и никогда его не использовать
Ответить с цитированием
  #8 (permalink)  
Старый 08.02.2016, 20:00
Новичок на форуме
Отправить личное сообщение для Болат Посмотреть профиль Найти все сообщения от Болат
 
Регистрация: 28.01.2016
Сообщений: 5

Сообщение от рони Посмотреть сообщение
так изменяйте скорость а не количество интервалов, а лучше забыть про setInterval и никогда его не использовать
Спасибо, но вот именно этим методом надо, не изменяя скорости
Ответить с цитированием
  #9 (permalink)  
Старый 08.02.2016, 20:07
Аватар для рони
Профессор
Отправить личное сообщение для рони Посмотреть профиль Найти все сообщения от рони
 
Регистрация: 27.05.2010
Сообщений: 33,121

Болат,
тогда создайте массив интервалов
Ответить с цитированием
Ответ



Опции темы Искать в теме
Искать в теме:

Расширенный поиск


Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
Остановить замещаемый setInterval faecker Events/DOM/Window 2 22.07.2015 01:58
Остановить таймер setInterval Орёл Общие вопросы Javascript 8 11.01.2015 22:07
Не могу остановить загрузку файла. Dimaz Общие вопросы Javascript 4 14.09.2014 17:05
не могу остановить setinterval harley jQuery 3 09.09.2014 13:36
полностью остановить загрузку страницы Alexander_ Общие вопросы Javascript 6 29.05.2011 17:40