Форум программистов
 

Восстановите пароль или Зарегистрируйтесь на форуме, о проблемах и с заказом рекламы пишите сюда - alarforum@yandex.ru, проверяйте папку спам!

Вернуться   Форум программистов > IT форум > Помощь студентам
Регистрация

Восстановить пароль
Повторная активизация e-mail

Купить рекламу на форуме - 42 тыс руб за месяц

Ответ
 
Опции темы Поиск в этой теме
Старый 08.09.2016, 18:45   #1
Almati
Новичок
Джуниор
 
Регистрация: 08.09.2016
Сообщений: 1
По умолчанию Получение значений из функции

Помогите, плиз. Есть код слайдеров, нужно сделать так, чтобы полученные значения в локальных переменных можно было использовать за пределами функции. Пробовал создавать глобальные переменные, но не получается передать им значения.
Код:
<html>
<head>
  <title>Untitled</title>
  <meta charset="utf-8">
  <style type="text/css">
  </style>
  <script src="https://ajax.googleapis.com/ajax/libs/jquery/1.12.4/jquery.min.js"></script>
  <link rel="stylesheet" href="https://ajax.googleapis.com/ajax/libs/jqueryui/1.11.4/themes/south-street/jquery-ui.css">
  <script src="https://ajax.googleapis.com/ajax/libs/jqueryui/1.11.4/jquery-ui.min.js"></script>
  <script>

$(function() {
$.each({
    'sliderx': {
      min: 0,
      max: 100,
      value: 50
    },
    'slidery': {
      min: 0,
      max: 100,
      value: 50
    },
    'sliderz': {
      min: 0,
      max: 100,
      value: 50
    }
},
function(id, params) {
    $('#'+ id).slider(params).on({
      'slide': function(event, ui) {
        event.data.val(ui.value);
      },
      'slidechange': function(event, ui) { /*console.log(event.data.val());*/
          x = document.getElementById("sliderx-result"),
          y = document.getElementById("slidery-result"),
          z = document.getElementById("sliderz-result"),

          itogx = (x.value),
          itogy = (y.value),
          itogz = (z.value), //надо чтобы вот эти переменные
      }
    }, 
    $('#'+ id + '-result'));
  });
//были доступны здесь
console.log(itogx);
});
</script>
</head>
<body>
<table cellspacing=10>
<tr>
        <td>Показатель х</td>
        <td width=150><div id="sliderx" ></td><td></div><input id="sliderx-result"></td>
        </tr>
<tr>
        <td>Показатель y</td>
        <td width=150><div id="slidery" ></div></td><td><input id="slidery-result"></td>
        </tr>
<tr>
        <td>Показатель z</td>
        <td width=150><div id="sliderz" ></div></td><td><input id="sliderz-result"></td>
        </tr>
</table>
</body>
</html>
Almati вне форума Ответить с цитированием
Старый 12.09.2016, 04:46   #2
predefined
Форумчанин
 
Регистрация: 01.08.2016
Сообщений: 182
По умолчанию

Вынос переменных наружу функции 100% сделает их глобальными.

Просто вы не понимаете, КОГДА запускается конструкция jQuery:
Код:
$(function() {
  ...
  });
Вот вам тестовый код, запустите его на своей страничке и увидите, что переменная itogz - глобальная, и её значение очень даже доступно снаружи функции. И заодно увидите в какой момент времени оно начинает "быть доступным"
Код HTML:
<script type='text/javascript' src='https://ajax.googleapis.com/ajax/libs/jquery/1.12.4/jquery.min.js'></script>
<script>

var itogz;   // глобальная переменная

$(function() {
  itogz = 5;
  });

alert('вызов сразу: ' + itogz);

setTimeout(function() { 
    alert('вызов через 2 сек: ' + itogz); 
  }, 2000);
</script>
Яваскрипт - событийный язык, до того как наступило событие "загрузка страницы" - переменная не будет проинициирована, тк функция $(function() {...}); запускается только построения DOM.

А в вашем примере - itogx/itogy/itogz проинициируются только после загрузки страницы(построения DOM) и когда потом наступит событие 'slidechange'

Последний раз редактировалось predefined; 12.09.2016 в 04:54.
predefined вне форума Ответить с цитированием
Ответ


Купить рекламу на форуме - 42 тыс руб за месяц



Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
В задаче необходимо вывести на экран таблицу значений функции У(х) и ее разложения в ряд С (х) для значений х от до с шагом.(Паск fashionweek Паскаль, Turbo Pascal, PascalABC.NET 1 07.02.2013 23:11
Вычисление значений функции для нескольких значений аргументов и параметров kolychii Помощь студентам 0 08.10.2012 15:49
Получение значений из клиента игры Explorer200 Gamedev - cоздание игр: Unity, OpenGL, DirectX 1 08.09.2010 23:25
получение значений из input TaTT DoGG PHP 14 04.01.2010 22:53
Получение значений форм Winlook JavaScript, Ajax 1 14.11.2009 20:13