Javascript-форум (https://javascript.ru/forum/)
-   Events/DOM/Window (https://javascript.ru/forum/events/)
-   -   Задать последовательность нажатий button (https://javascript.ru/forum/events/81681-zadat-posledovatelnost-nazhatijj-button.html)

sssema96 23.01.2021 22:40

Nexus,
Посмотрите код пожалуйста, не получается с условием разобраться, если условие соблюдено то обновить страницу, если не соблюдено то переход на страницу.
if (!isRightCombination || userAnswers.length == rightAnswers.length) {
                alert (isRightCombination ? 'Правильно' : 'Неправильно')
                userAnswers = [];

                location.href = location.href;

            }
            else if(!isRightCombination && userAnswers.length != rightAnswers.length)
                {
                alert (isRightCombination ? 'Правильно' : 'Неправильно')
                userAnswers = [];
                window.open('TestDKS2.html');
            }

Nexus 24.01.2021 15:57

sssema96, покажите свой код полностью.

sssema96 24.01.2021 21:16

Nexus,
document.addEventListener('DOMContentLoaded', () => {
    let userAnswers = [];  /* массив для записи нажатых клавиш */
    const rightAnswers = ['avr_On', 'click_red6', 'click_green4', 'red_button04kT1','black_button04kVT22']; /* Алгоритм нажатий при котором задание будет выполнено */
    const resultContainer = document.querySelector('#result');  /* считывание с html <div> id="result" */

    document.querySelectorAll('button').forEach(button => {
        button.addEventListener('click', () => {
            resultContainer.style.border = 'none';
            resultContainer.textContent = '';
            userAnswers.push(button.id);
            /* Функция с условием если нажатые клавиши соответствуют нажатым выполнить заданный код */
            const isRightCombination = JSON.stringify(userAnswers) === JSON.stringify(rightAnswers.slice(0, userAnswers.length));

          if (!isRightCombination || userAnswers.length == rightAnswers.length) {
                alert ('Правильно')
                userAnswers = [];

                location.href = location.href;

            }
            else if(!isRightCombination && userAnswers.length != rightAnswers.length)
                {
                alert ('Неправильно')
                userAnswers = [];
                window.open('TestDKS2.html');
            }

        });
    });
});

sssema96 24.01.2021 22:32

Nexus,Получилось сделать вот таким способом. Только как сделать что бы в alert выводилась только строка, а
location.href ='TestDKS2.html'
Просто выполнялось?
if (isLastAnswer || !isRightAnswer){
                alert (isLastAnswer ? ('Правильно' + (location.href ='TestDKS2.html') ) : ('Неправильно' + (location.href = location.href )))
                userAnswers = [];

            }

Nexus 26.01.2021 17:28

sssema96, попробуйте так:

if (isLastAnswer || !isRightAnswer) {
    userAnswers = [];
    alert(isRightAnswer ? 'Правильно' : 'Неправильно');
    
    if (isRightAnswer) {
        location.href = 'TestDKS2.html'
    } else {
        location.href = location.href;
    }
}


Часовой пояс GMT +3, время: 21:34.