Что бы полностью пояснить всякое недопонимание, в том что я хочу, я решил сделать простой пример.
https://jsfiddle.net/BlackStar1991/dby199qk/16/ При изменение ползунка должно ити изменение количества квадратиков. (собственно получение значения перемененной из функции) |
Black_Star,
Цитата:
<!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> <div id="res" ></div> <canvas id='canvas' width="800" height="200"></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(); res.innerText = ("a = " + a); num.text(a); nov = showResalt + 2; }) }) var showResalt = Number (a); console.log( showResalt + 'my_range'); //console.log(nov + " = nov"); </script> </body> </html> |
Спасибо, интересный вышел результат, но он не подходит по моим нуждам. В вашем примере, функция и параметр изменения находятся в одной области видимости. За пределами данной функции "a" вы уже не сможете изменить. Мне же необходим динамически изменяемый параметр "а" за пределами, в другой функции. https://jsfiddle.net/BlackStar1991/dby199qk/16/
|
Black_Star,
Запуск функции клонирования нужно размещать в обработчике. |
<!DOCTYPE html> <html lang="en"> <head> <title>Rainebow Balls</title> <style> .addBlock{ height: 100px; width: 100%; border: 1px solid #000; } .minBlock{ float: left; width: 20px; height: 20px; background-color: red; border: 1px solid #000; display:none; } </style> <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> <div class="minBlock"></div> <div class="addBlock"> </div> <script> var corners = $('.corners'); var a = corners.val(), num = $('span'); num.text(a); var minblock = $(".minBlock"); duplicate(a); $(function(){ $('.corners').on('input', function(){ a = corners.val(); num.text(a); duplicate(a); }) }) function duplicate(count) { $(".addBlock").html(""); for(var i = 0; i < count; i++) { minblock.clone().appendTo(".addBlock").show(); } } </script> </body> </html> |
Цитата:
У нас есть два варианта "связи" значения с именем переменной... 1. Присвоение 2. Ссылка |
Black_Star,
Рекомендую также глянуть концовочку этой темы http://javascript.ru/forum/dom-windo...achejjk-4.html |
Всем спасибо за помощь. :thanks:
Ещё вопрос. Как сделать слушатель события для этого ползунка? Что то на подобие вот этого https://www.sitepoint.com/javascript-custom-events/ Что б значения в теге span() менялись не ПОСЛЕ того как я отпущу ползунок, а по мере прокрутки? |
Black_Star,
Цитата:
|
всем ещё раз спасибо. Вот что получилось :p
http://codepen.io/BlackStar1991/pen/JERqjP |
Часовой пояс GMT +3, время: 20:57. |