Задать вопрос
@skygliderus
Excel, HTML, CSS, JS, PHP, adaptive design

Как из функции JQuery получить значение переменной?

Народ, всем доброго вечера!
Начал плотно изучать JQuery и никак не могу найти вопрос на казалось бы простой вопрос, который в JavaScript даже не вставал.
Есть глобальная переменная, которая отслеживает шаг квиза. Есть функция, которая отслеживает нажатие кнопки Далее. И есть функция, которая отвечает за появление кнопки Далее при выборе любого input
$(function () {

    var step = 1;

    $(".steps .btn-step").on('click', function nextStep() {
        console.log ("Слайд Шаг: " + step);        
        $(this).closest(".steps").addClass("d-none");
        console.log("delete");
        $(this).closest(".steps").next(".steps").removeClass("d-none");
        console.log("adde");
        step++;
        return step;
    });
   
console.log ("Слайд Шаг: " + step); 

    $(".step-" + step +" label").on('click', function() {
        console.log ("Кнопка Далее: " + step);        
        $(".step-" + step +" .btn").removeClass('d-none');
    });
    
});

Понятно, что все console.log для отслеживания процесса.

Не передаётся step из nextStep в глобальную область видимости для изменения глобальной переменной! И соответственно не срабатывает появление кнопки Далее начиная со второго шага. Что не так пишу?
  • Вопрос задан
  • 1645 просмотров
Подписаться 1 Простой 17 комментариев
Пригласить эксперта
Ответы на вопрос 1
@chibitko
Перенесите
$(".step-" + step +" label").on('click', function() {
console.log ("Кнопка Далее: " + step);
$(".step-" + step +" .btn").removeClass('d-none');
});
в обработчик события выше, это не реактивное программирование, без вашего участия это вызывается один раз
Ответ написан
Комментировать
Ваш ответ на вопрос

Войдите, чтобы написать ответ

Похожие вопросы