Одна кнопка запускает функцию, вторая кнопка запускает другую функцию, но только если запускается 1-я функция - PullRequest
0 голосов
/ 01 ноября 2019

У меня 4 кнопки , назначенные для запуска 4 разных functions. Видно ниже

document.getElementById("buttonOne").addEventListener("click", functionOne);
document.getElementById("buttonTwo").addEventListener("click", functionTwo);
document.getElementById("buttonThree").addEventListener("click", functionThree);
document.getElementById("buttonFour").addEventListener("click", functionFour);

У меня есть другая функция, functionFive, которая не контролируется ни одной кнопкой.

Все эти функции устанавливают параметры для трехмерного объекта при нажатии на данную кнопку,Нажатие кнопки один запускает functionOne, устанавливая определенный набор параметров. Если эти параметры установлены в functionOne, и я нажимаю кнопку четыре , я хочу запустить functionFive.

Если эти параметры из functionOne не установлены, когда нажата кнопка 4 , хочу запустить functionFour.

Для пояснения, я хочу, чтобы functionFive запускался, только если functionOne уже запущен и его параметры установлены.

Может кто-нибудь помочь мне написать этот сценарий? Я переписал свой вопрос, чтобы соответствовать моей точной потребности. Мое оригинальное описание было сжато, чтобы попытаться упростить его, чтобы не было так долго.

Ответы [ 2 ]

0 голосов
/ 07 ноября 2019

Найдено рабочее решение ....

var clicked = false;

function functionOne() {
 /functionOne parameters
 clicked = true;
 }

function functionTwo() {
clicked = false;
//functionTwo parameters
}

functionFour() {
if (clicked) {
cliked = false;
functionFive()
} else {
//functionFour parameters
  }
 }
}
0 голосов
/ 01 ноября 2019

Возможно, создайте новую логическую переменную, которая имеет значение false, когда она определена, но имеет значение true, когда функция functionOne запущена и которая определяет, какая функция buttonTwo запускается.

<html>
<script>
    var oneClicked = false;

    function functionOne() {
        oneClicked = true;
        alert('functionOne');
    }

    function functionTwo() {
        alert('functionTwo');
    }

    function functionThree() {
        alert('functionThree');
    }
</script>

<button onclick="functionOne()">button one</button>
<button onclick="if (oneClicked) {functionThree()} else {functionTwo()}">button two</button>

</html>
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...