Показать сообщение отдельно
  #1 (permalink)  
Старый 17.06.2018, 13:47
Новичок на форуме
Отправить личное сообщение для Guamoko Посмотреть профиль Найти все сообщения от Guamoko
 
Регистрация: 17.06.2018
Сообщений: 9

создать цикл
Добрый день. Запнулся на цикле. Имею функцию:

function HNap(Mater11,Hnap11){

arguments[0].SetActive();

var thick = ActiveMaterial.Thickness;
if(thick == 10){
arguments[1].Value=Window1.Hprm.Value-99;
}
if(thick == 4){
arguments[1].Value=Window1.Hprm.Value-102;
}
}
Если вызываю так:

Window1.Hprm.OnValueChange=function(){
HNap(Window1.Mater11,Window1.Hnap11);
HNap(Window1.Mater21,Window1.Hnap21);
HNap(Window1.Mater31,Window1.Hnap31);
// и т.д.
}
то все нормально. Но хотелось бы избежать повторения одной и той же функции с похожими переменными Моя попытка вызвать через цикл:

var mater = ["Mater11","Mater21","Mater31" // и т.д.];
var hnap = ["HNap11","HNap21","HNap31" // и т.д.];

Window1.Hprm.OnValueChange=function(){
for (var i=0, j=0; i<mater.length, j<hnap.length; i++, j++){
HNap(mater[i],hnap[j]);
}
}
выдает ошибку
TypeError: arquments(0).SetActive is not a function at HNap at
Function.Window1.Hprm.OnValueChange
или другое, если пробую варианты.
Прошу указать на мою ошибку.
Спасибо
Ответить с цитированием