Как элементам массива назначить переменные?
Доброго времени суток, уважаемая аудитория!
Прошу помощи, в связи с очень плохим знанием скриптов. Есть кнопка в панели расширения для Photoshop, которая запускает .jsx <button class="tool" id="gb_3b">MyFunc</button> Нажатие кнопки запускает нужный .jsx из js. В данном случае gb3b.jsx $("#gb_3b").button().click(function(a) { csInterface.evalScript('$.evalFile("' + extensionRoot + 'work/gb3b.jsx")') }); Мне нужно передать переменную из jsx в js. В самом конце jsx помещаю функцию function func_in_jsx() { var rm = r2; return rm; }; А в js добавляю: $("#gb_3b").button().click(function(a) { csInterface.evalScript('$.evalFile("' + extensionRoot + 'work/gb3b.jsx"); func_in_jsx();', function f(x) {var rad_m = x; $('#gblur3rad').slider("value", rad_m);}; }); В случае передачи одной переменной, все замечательно работает. Скрипт jsx отрабатывает все что положено в Photoshop и по завершении, ползунок в панели сдвигается соответственно значению возвращенной переменной. А вот в случае, когда нужно вернуть несколько переменных, у меня стопор. Не знаю, как это правильно записать. В jsx меняю функцию на: function func_in_jsx() { var rl = r1; var rm = r2; return [rl, rm]; }; А вот как это записать правильно в js не знаю. Пробовал по всякому. Никак. Алерт показывает, что вернулось 2 значения, а вот присвоить их переменным не знаю как. $("#gb_3b").button().click(function(a) { csInterface.evalScript('$.evalFile("' + extensionRoot + 'work/gb3b.jsx"); func_in_jsx();', function f(x) {var y = [x]; var rad_m = y[1]; var rad_l = y[0]; $('#gblur3rad').slider("value", rad_m); $('#lowgblur3rad').slider("value", rad_l);}; }); Заранее благодарю за любую помощь |
Цитата:
При всем при этом, если только одна переменная возвращается, без массива, то все работает правильно. P.S. Фуф, понял я почему так получается. Возвращается не числовой массив, а строка. Например: 12.3,4.5 Только вот как такой массив сделать снова числовым? |
Цитата:
Все, разобрался. var arr = x.split(','); var rad_l = arr[0]; var rad_m = arr[1]; Но все равно, большое спасибо. Без Вас бы так и тыкался, придумывая невесь что :-) |
Часовой пояс GMT +3, время: 08:41. |