0 / 0 / 0
Регистрация: 27.11.2012
Сообщений: 217

Получение переменной из другой функции

20.10.2015, 14:41. Показов 6267. Ответов 6
Метки нет (Все метки)

Студворк — интернет-сервис помощи студентам
JavaScript
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
$('.test').on('click', function() {
var imageSrc = $(this).attr('src'); // путь до нажатой картинки
var idData = $(this).attr('data');
$('#myModal img').attr('src', imageSrc+"?id="+idData);
$.get('test2.php', {print_size:idData}, function(data)    {
   $('#myModal').modal('show');
   var test = data;
   console.log(test);
   var elem = document.getElementById('test');
   elem.innerHTML = test;
   position = JSON.parse(document.getElementById('position').textContent);
   console.log(position);
});
});
var x1, y1, x2, y2, crop = 'test/';
var jcrop_api;
jQuery(function($){         
    $('#target').Jcrop({        
        onChange:   showCoords,
        onSelect:   showCoords,
        setSelect: [ position.x1, position.y1, position.x2, position.y2], 
    },function(){       
        jcrop_api = this;       
    });
});
Никак не могу догадаться, как получить переменную position в другой функции. Как можно попробовать?
0
IT_Exp
Эксперт
34794 / 4073 / 2104
Регистрация: 17.06.2006
Сообщений: 32,602
Блог
20.10.2015, 14:41
Ответы с готовыми решениями:

Получение значения локальной переменной функции вне этой функции
Возможно ли переменную объявленную в функции использовать за ее пределами? Функции вызывается только 1 раз, больше вызывать ее нельзя.

И снова глобальная переменная в js. Как изменить значение глобальной переменной в одной функции и увидеть это значение в другой функции?
Это учебное задание. Помогите, пожалуйста, разобраться почему func1 видит какую-то новую переменную t вместо window.t? Пробовала...

Можно ли сделать так, чтобы названием переменной стало значение другой переменной?
По аналогии с phpшным $$var; Если можно, то как?

6
81 / 81 / 50
Регистрация: 26.11.2012
Сообщений: 303
20.10.2015, 15:03
обьявите переменную вне функций

JavaScript
1
2
3
4
5
6
7
8
9
10
11
var position;
 
function some1(){
    position = value;
    //.....
}
 
function some2(){
    //.....
    var data = position;
}
0
0 / 0 / 0
Регистрация: 27.11.2012
Сообщений: 217
20.10.2015, 15:15  [ТС]
JavaScript
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
// x1, y1, x2, y2 - Координаты для обрезки изображения
// crop - Папка для обрезанных изображений
var position;
$('.test').on('click', function() {
var imageSrc = $(this).attr('src'); // путь до нажатой картинки
var idData = $(this).attr('data');
$('#myModal img').attr('src', imageSrc+"?id="+idData);
$.get('test2.php', {print_size:idData}, function(data)    {
   $('#myModal').modal('show');
   var test = data;
   console.log(test);
   var elem = document.getElementById('test');
   elem.innerHTML = test;
   position = JSON.parse(document.getElementById('position').textContent);
});
});
var x1, y1, x2, y2, crop = 'test/';
var jcrop_api;
jQuery(function($){
    var test=position;
    console.log(test);
    $('#target').Jcrop({        
        onChange:   showCoords,
        onSelect:   showCoords,
        setSelect: [ position.x1, position.y1, position.x2, position.y2], 
    },function(){       
        jcrop_api = this;       
    });
вот сделал, test выводит все равно underfined
0
81 / 81 / 50
Регистрация: 26.11.2012
Сообщений: 303
20.10.2015, 16:22
ах, конечно, у вас же аякс функция, только увидел.
ваш вопрос был задан не верно)
Вам внутри тела колбека надо передать эту переменную.
По цепочке, иначе никак)

после
JavaScript
1
position = JSON.parse(document.getElementById('position').textContent);
вам надо вызвать функцию приемщик.

в вашем случае

JavaScript
1
2
3
4
5
6
7
8
9
10
jQuery(function($){
    var test=position;
    console.log(test);
    $('#target').Jcrop({        
        onChange:   showCoords,
        onSelect:   showCoords,
        setSelect: [ position.x1, position.y1, position.x2, position.y2], 
    },function(){       
        jcrop_api = this;       
    });
немного переделаем и получим

JavaScript
1
2
3
4
5
6
7
8
9
10
function function_name(position){
    var test=position;
    console.log(test);
    $('#target').Jcrop({        
        onChange:   showCoords,
        onSelect:   showCoords,
        setSelect: [ position.x1, position.y1, position.x2, position.y2], 
    },function(){       
        jcrop_api = this;       
    };
Добавляем вызов

JavaScript
1
2
position = JSON.parse(document.getElementById('position').textContent);
function_name(position);
Добавлено через 16 секунд
Переменные выносить не надо
0
0 / 0 / 0
Регистрация: 27.11.2012
Сообщений: 217
20.10.2015, 18:26  [ТС]
Тогда я получаю переменную, но у меня вылазит такая ошибка
Uncaught TypeError: $(...).Jcrop is not a function

Добавлено через 39 секунд
JavaScript
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
var position;
$('.test').on('click', function() {
var imageSrc = $(this).attr('src'); // путь до нажатой картинки
var idData = $(this).attr('data');
$('#myModal img').attr('src', imageSrc+"?id="+idData);
$.get('test2.php', {print_size:idData}, function(data)    {
   $('#myModal').modal('show');
   var test = data;
   console.log(test);
   var elem = document.getElementById('test');
   elem.innerHTML = test;
   position = JSON.parse(document.getElementById('position').textContent);
   function_name(position);
});
});
var x1, y1, x2, y2, crop = 'test/';
var jcrop_api;
function function_name(position){
    var test=position;
    console.log(test)
    $('#target').Jcrop({        
        onChange:   showCoords,
        onSelect:   showCoords,
        setSelect: [ position.x1, position.y1, position.x2, position.y2], 
    },function(){       
        jcrop_api = this;       
    });
};
Добавлено через 21 секунду
пробовал оставить и jQuery(function($), все равно
0
81 / 81 / 50
Регистрация: 26.11.2012
Сообщений: 303
20.10.2015, 21:02
JavaScript
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
var x1, y1, x2, y2, crop = 'test/';
var jcrop_api;
$('.test').on('click', function() {
var imageSrc = $(this).attr('src'); // путь до нажатой картинки
var idData = $(this).attr('data');
$('#myModal img').attr('src', imageSrc+"?id="+idData);
$.get('test2.php', {print_size:idData}, function(data)    {
   $('#myModal').modal('show');
   var test = data;
   console.log(test);
   var elem = document.getElementById('test');
   elem.innerHTML = test;
   position = JSON.parse(document.getElementById('position').textContent);
   console.log(position);
//
   jQuery(function($){         
    $('#target').Jcrop({        
        onChange:   showCoords,
        onSelect:   showCoords,
        setSelect: [ position.x1, position.y1, position.x2, position.y2], 
    },function(){       
        jcrop_api = this;       
    });
});
});
});
Добавлено через 1 минуту
Хотя странно, должно и так как в предыдущем примере работать нормально
0
0 / 0 / 0
Регистрация: 27.11.2012
Сообщений: 217
21.10.2015, 15:25  [ТС]
Все равно ту же ошибку пишет
0
Надоела реклама? Зарегистрируйтесь и она исчезнет полностью.
BasicMan
Эксперт
29316 / 5623 / 2384
Регистрация: 17.02.2009
Сообщений: 30,364
Блог
21.10.2015, 15:25
Помогаю со студенческими работами здесь

Имя переменной составить из значения другой переменной?
друзья, у меня такая задача: надо имя переменной составить из значения другой переменной. есть переменная identfIc мне нужно...

Сделать кнопку активной; достать значение переменной из другой функции
Суть в том, что есть поле в котором введено значение = 1, есть две кнопки: кнопка1 прибавляет 1, кнопка2 отнимает тоже 1. Кнопка2 должна...

Как значение переменной передать другой переменной?
Добрый день! подскажите мне с ява-кодом, код моего ява скрипта на жейкверти //отображает расстояние по прямой по воздуху function...

Включение в имя переменной значение другой переменной
Не злого времени суток всем кто может помочь с моей мааленькой проблемкой? var nc = $.cookie("nc"); cut+nc =...

Получение таблицы значений функции из другой функции
Нужно получить функцию t(n) в маткаде, значения которой равно сумме значений функции T(n). Уравнение, по которому рассчитаны значения...


Искать еще темы с ответами

Или воспользуйтесь поиском по форуму:
7
Ответ Создать тему
Опции темы

Новые блоги и статьи
SDL3 для Web (WebAssembly): Работа со звуком через SDL3_mixer
8Observer8 08.02.2026
Содержание блога Пошагово создадим проект для загрузки звукового файла и воспроизведения звука с помощью библиотеки SDL3_mixer. Звук будет воспроизводиться по клику мышки по холсту на Desktop и по. . .
SDL3 для Web (WebAssembly): Основы отладки веб-приложений на SDL3 по USB и Wi-Fi, запущенных в браузере мобильных устройств
8Observer8 07.02.2026
Содержание блога Браузер Chrome имеет средства для отладки мобильных веб-приложений по USB. В этой пошаговой инструкции ограничимся работой с консолью. Вывод в консоль - это часть процесса. . .
SDL3 для Web (WebAssembly): Обработчик клика мыши в браузере ПК и касания экрана в браузере на мобильном устройстве
8Observer8 02.02.2026
Содержание блога Для начала пошагово создадим рабочий пример для подготовки к экспериментам в браузере ПК и в браузере мобильного устройства. Потом напишем обработчик клика мыши и обработчик. . .
Философия технологии
iceja 01.02.2026
На мой взгляд у человека в технических проектах остается роль генерального директора. Все остальное нейронки делают уже лучше человека. Они не могут нести предпринимательские риски, не могут. . .
SDL3 для Web (WebAssembly): Вывод текста со шрифтом TTF с помощью SDL3_ttf
8Observer8 01.02.2026
Содержание блога В этой пошаговой инструкции создадим с нуля веб-приложение, которое выводит текст в окне браузера. Запустим на Android на локальном сервере. Загрузим Release на бесплатный. . .
SDL3 для Web (WebAssembly): Сборка C/C++ проекта из консоли
8Observer8 30.01.2026
Содержание блога Если вы откроете примеры для начинающих на официальном репозитории SDL3 в папке: examples, то вы увидите, что все примеры используют следующие четыре обязательные функции, а. . .
SDL3 для Web (WebAssembly): Установка Emscripten SDK (emsdk) и CMake для сборки C и C++ приложений в Wasm
8Observer8 30.01.2026
Содержание блога Для того чтобы скачать Emscripten SDK (emsdk) необходимо сначало скачать и уставить Git: Install for Windows. Следуйте стандартной процедуре установки Git через установщик. . . .
SDL3 для Android: Подключение Box2D v3, физика и отрисовка коллайдеров
8Observer8 29.01.2026
Содержание блога Box2D - это библиотека для 2D физики для анимаций и игр. С её помощью можно определять были ли коллизии между конкретными объектами. Версия v3 была полностью переписана на Си, в. . .
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin
Copyright ©2000 - 2026, CyberForum.ru