Javascript 一个按钮运行一个函数,第二个按钮运行另一个函数,但仅当第一个函数运行时
我有4个按钮用于运行4个不同的Javascript 一个按钮运行一个函数,第二个按钮运行另一个函数,但仅当第一个函数运行时,javascript,function,functional-programming,conditional-statements,Javascript,Function,Functional Programming,Conditional Statements,我有4个按钮用于运行4个不同的功能。见下 document.getElementById("buttonOne").addEventListener("click", functionOne); document.getElementById("buttonTwo").addEventListener("click", functionTwo); document.getElementById("buttonThree").addEventListener("click", functionTh
功能
。见下
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
,它不受任何按钮控制
单击给定按钮时,所有这些函数都会在3D对象上设置参数。单击按钮一运行功能一
,设置一组特定的参数。如果这些参数是从functionOne
设置的,我单击按钮4,我希望运行functionFive
如果单击按钮四时未设置functionOne
中的那些参数,我希望运行functionFour
为了澄清,我只想在functionOne
已经运行并且设置了参数的情况下运行这个functionFive
有人能帮我写这个剧本吗?
我已经改写了我的问题,以符合我的确切需要。我的原始描述被压缩以尝试简化它,这样它就不会这么长。可能会创建一个新的布尔变量,该变量在定义时为false,但在运行functionOne时设置为true,并确定哪个函数按钮将运行
<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>
var=false;
函数functionOne(){
oneClicked=true;
警报(“功能一”);
}
函数functionTwo(){
警报(“功能二”);
}
函数三(){
警报(“功能三”);
}
按钮一
按钮二
发现工作解决方案为
var clicked = false;
function functionOne() {
/functionOne parameters
clicked = true;
}
function functionTwo() {
clicked = false;
//functionTwo parameters
}
functionFour() {
if (clicked) {
cliked = false;
functionFive()
} else {
//functionFour parameters
}
}
}
如果一个函数没有返回值,您将如何发现它是否正在运行?需要更清楚:
如果一个函数为真
VS如果functionOne已经运行
,您的意思是什么。如果(functionOne()==true){functionThree();}或如果(functionOne之前运行过){functionThree();}
,您想要是的,这是正确的想法,但是如果您