Functions declared within loops referencing an outer scoped variable may lead to conf
function jqFormSteps() {
var n = 0;
for (n = 0; n < 5; n++) {
var formStep = $('#form_step_one> fieldset');
var stepNext = $('fieldset[data-step="' + n + '"]').next();
var stepPrev = $('fieldset[data-step="' + n + '"]').prev();
тут ошибка->> var stepFormAddClass = function(parm1, parm2) {
$(parm1).on('click', function(event) {
event.preventDefault();
formStep.removeClass('selector');
parm2.addClass('selector');
});
};
stepFormAddClass('#next' + n + '', stepNext);
stepFormAddClass('#prev' + n + '', stepPrev);
}
}
-------
ошибка: Functions declared within loops referencing an outer scoped variable may lead to confusing semantic. как избавится от ошибки? понимаю что функция вошла в цикл и это не самый лучший способ что бы листать блоки туда сюда :( |
функцию вынеси за цикл фор, зачем ее в цикл засунул?
|
function jqFormSteps() {
var n = 0;
var formStep = $('#form_step_one> fieldset');
var stepNext = $('fieldset[data-step="' + n + '"]').next();
var stepPrev = $('fieldset[data-step="' + n + '"]').prev();
var stepFormAddClass = function(parm1, parm2) {
$(parm1).on('click', function(event) {
for (n = 0;n < 5;n++) {
event.preventDefault();
formStep.removeClass('selector');
parm2.addClass('selector');
}
});
stepFormAddClass('#next' + n + '', stepNext);
stepFormAddClass('#prev' + n + '', stepPrev);
};
}
ошибка пропадает. но зато перестают перелистыватся туда сюда дивы :( и моя форма ломается |
function jqFormSteps() {
var n = 0;
var formStep = $('#form_step_one> fieldset');
var stepNext = $('fieldset[data-step="' + n + '"]').next();
var stepPrev = $('fieldset[data-step="' + n + '"]').prev();
var stepFormAddClass = function(parm1, parm2) {
$(parm1).on('click', function(event) {
event.preventDefault();
formStep.removeClass('selector');
parm2.addClass('selector');
});
};
for (n = 0;n < 5;n++) {
stepFormAddClass('#next' + n + '', stepNext);
stepFormAddClass('#prev' + n + '', stepPrev);
}
}
попробуйте вот так, если не получится, сделайте тестовый пример здесь. |
function jqFormSteps() {
var moveStep = {
nextStep: function() { $('[data-step]:visible').removeClass('selector').next().addClass('selector'); },
prevStep: function() { $('[data-step]:visible').removeClass('selector').prev().addClass('selector'); }
};
var stepFormAddClass = function(param1) {
$(param1).on('click', function(event) {
event.preventDefault();
if (param1 == '.js__nextButton') { moveStep.nextStep(); } else { moveStep.prevStep();}
});
};
stepFormAddClass('.js__nextButton');
stepFormAddClass('.js__prevButton');
}
переписал по новой. теперь работает переключение и нет ошибок |
| Часовой пояс GMT +3, время: 20:50. |