Javascript.RU

Создать новую тему Ответ
 
Опции темы Искать в теме
  #1 (permalink)  
Старый 16.01.2017, 00:55
Аватар для Black_Star
Профессор
Отправить личное сообщение для Black_Star Посмотреть профиль Найти все сообщения от Black_Star
 
Регистрация: 11.07.2016
Сообщений: 300

input type="range" слушатель события.
Добрый день уважаемые. Вот возникла необходимость при изменении значения ползунка производить некий пересчет значений в остальном коде. Подскажите как реализовать. Приведу пример
<!DOCTYPE html>
<html lang="en">
<head>
	<meta charset="UTF-8">
	<title>Exam</title>
	<script src="https://ajax.googleapis.com/ajax/libs/jquery/3.1.0/jquery.min.js"></script>
</head>
<body>
<input class="corners" type="range" min="1" max="60" step="1" value="48">
<span>show</span>
<script>
  window.onload = function () { 
      var corners = $('.corners'),
	 	 num = $('span');
     var a = corners.val();
$(function(){
	num.text(a);
	$('.corners').change(function(){
  	a = corners.val();
		console.log(a + "  =a");
		num.text(a);

		return a;
   })
})
   
   var showResalt = Number (a);   
   console.log( showResalt + 'my_range');
   var nov = showResalt + 2;
   console.log(nov + "  = nov");

}

</script>
</body>
</html>


необходимо получать значение "a" из функции и затем при его изменении получать новое значение переменной nov. Подскажите, как повесить правильный слушатель события? Я думал через setInterval но что то мне не очень нравится
Добавлю аналог https://jsfiddle.net/BlackStar1991/dby199qk/8/

Последний раз редактировалось Black_Star, 16.01.2017 в 00:58.
Ответить с цитированием
  #2 (permalink)  
Старый 16.01.2017, 01:53
Аватар для рони
Профессор
Отправить личное сообщение для рони Посмотреть профиль Найти все сообщения от рони
 
Регистрация: 27.05.2010
Сообщений: 33,121

Сообщение от Black_Star
return a;
заменить на
nov = showResalt + 2;
Ответить с цитированием
  #3 (permalink)  
Старый 16.01.2017, 10:23
Аватар для Black_Star
Профессор
Отправить личное сообщение для Black_Star Посмотреть профиль Найти все сообщения от Black_Star
 
Регистрация: 11.07.2016
Сообщений: 300

Чёт не работает. Как то не правильно я понимаю область видимости

<!DOCTYPE html>
<html lang="en">
<head>
	<meta charset="UTF-8">
	<title>Rainebow Balls</title>
<script src="https://ajax.googleapis.com/ajax/libs/jquery/3.1.0/jquery.min.js"></script>
</head>
<body>
	<canvas id='canvas' width="800" height="800"></canvas>
	<input class="corners" type="range" min="1" max="60" step="1" value="48">
	<span>show</span>
	
<script>
var corners = $('.corners'),
	 	 num = $('span');
     var a = corners.val();
$(function(){
	num.text(a);
	$('.corners').change(function(){
  	a = corners.val();
		console.log(a + "  =a");
		num.text(a);

		nov = showResalt + 2;
   })
})
   
   var showResalt = Number (a);   
   console.log( showResalt + 'my_range');

   console.log(nov + "  = nov");
</script>
</body>
</html>
Ответить с цитированием
  #4 (permalink)  
Старый 16.01.2017, 10:43
Аватар для ksa
ksa ksa вне форума
CacheVar
Отправить личное сообщение для ksa Посмотреть профиль Найти все сообщения от ksa
 
Регистрация: 19.08.2010
Сообщений: 14,225

Сообщение от Black_Star
Чёт не работает.
Так ошибка у тебя...
Цитата:
Uncaught ReferenceError: nov is not defined
Сообщение от Black_Star
console.log(nov + "  = nov");
Ответить с цитированием
  #5 (permalink)  
Старый 16.01.2017, 10:45
Аватар для ksa
ksa ksa вне форума
CacheVar
Отправить личное сообщение для ksa Посмотреть профиль Найти все сообщения от ksa
 
Регистрация: 19.08.2010
Сообщений: 14,225

Так работает...

<!DOCTYPE html>
<html lang="en">
<head>
	<title>Rainebow Balls</title>
	<script src="https://ajax.googleapis.com/ajax/libs/jquery/3.1.0/jquery.min.js"></script>
</head>
<body>
<canvas id='canvas' width="800" height="800"></canvas>
<input class="corners" type="range" min="1" max="60" step="1" value="48">
<span>show</span>
<script>
var corners = $('.corners');
var num = $('span');
var a = corners.val();
$(function(){
	num.text(a);
	$('.corners').change(function(){
		a = corners.val();
		console.log(a + "  =a");
		num.text(a);
		nov = showResalt + 2;
   })
})
var showResalt = Number (a);   
console.log( showResalt + 'my_range');
//console.log(nov + "  = nov");
</script>
</body>
</html>
Ответить с цитированием
  #6 (permalink)  
Старый 16.01.2017, 10:50
Профессор
Отправить личное сообщение для Dilettante_Pro Посмотреть профиль Найти все сообщения от Dilettante_Pro
 
Регистрация: 27.11.2015
Сообщений: 2,899

Black_Star,
var nov - туда же, где var a
Ответить с цитированием
  #7 (permalink)  
Старый 16.01.2017, 11:34
Аватар для Black_Star
Профессор
Отправить личное сообщение для Black_Star Посмотреть профиль Найти все сообщения от Black_Star
 
Регистрация: 11.07.2016
Сообщений: 300

Сообщение от ksa
Так работает...
Чёт я не могу понять что именно у Вас работает? В консоле я не вижу что б значение 'my_range' как-то менялось после изменения ползунка да и значение console.log(nov + " = nov"); я не очень понял зачем закомители.
Сообщение от Dilettante_Pro
var nov - туда же, где var a
https://jsfiddle.net/BlackStar1991/dby199qk/14/

не вижу как это может помочь
Ответить с цитированием
  #8 (permalink)  
Старый 16.01.2017, 11:37
Аватар для ksa
ksa ksa вне форума
CacheVar
Отправить личное сообщение для ksa Посмотреть профиль Найти все сообщения от ksa
 
Регистрация: 19.08.2010
Сообщений: 14,225

Сообщение от Black_Star
Чёт я не могу понять что именно у Вас работает?
Так я х/з чего планировал ты...
Но твой пример в моем варианте не дает ошибок в консоли... При изменении ползунка меняются циферки...
Ответить с цитированием
  #9 (permalink)  
Старый 16.01.2017, 11:53
Профессор
Отправить личное сообщение для Dilettante_Pro Посмотреть профиль Найти все сообщения от Dilettante_Pro
 
Регистрация: 27.11.2015
Сообщений: 2,899

Black_Star,
Сообщение от Black_Star
не вижу как это может помочь
Не нужно присваивать что-то - только объявить. Не будет ошибки, о которой писал ksa.
А изменения после перемещения ползунка у вас будут печататься только для a - этот console.log(a + " =a"); находится в обработчике, а остальные console.log срабатывают только один раз, при первоначальном выполнении скрипта
Ответить с цитированием
  #10 (permalink)  
Старый 16.01.2017, 11:55
Аватар для Black_Star
Профессор
Отправить личное сообщение для Black_Star Посмотреть профиль Найти все сообщения от Black_Star
 
Регистрация: 11.07.2016
Сообщений: 300

Сообщение от ksa
Но твой пример в моем варианте не дает ошибок в консоли... При изменении ползунка меняются циферки..
Они изначально там менялись) Вопрос был не о том.
Мне необходимо что б была возможность работать с динамически меняющееся значение переменной "a" которое я получаю из функции.
(привязать значение этой переменной к другой переменой)
Ответить с цитированием
Ответ



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

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


Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
Не удаляется слушатель события spo Общие вопросы Javascript 5 28.12.2016 12:35
События при изменении содержимого input sean88 jQuery 2 17.09.2014 16:42
события input propertychange dianitka Элементы интерфейса 2 27.05.2013 12:56
Вызов события для input file ArmagedDance jQuery 4 17.02.2013 10:39
При добавлении DOCTYPE "плывут" размеры input type=text Demath (X)HTML/CSS 4 08.07.2012 19:27