使用 onClick 进行函数调用

Function call with onClick

本文关键字:函数调用 onClick 使用      更新时间:2023-09-26

还在做我的算命先生游戏。我不知道如何达到"下一个级别",即下一个功能。因为点击是为级别 A() 设置的。有没有办法让点击更改?逻辑与之前相同:

  • 屏幕 A:1,2,3,4//单击一个数字并得到屏幕 B (2/4)或 C(1/3)
  • 屏幕 B:5,6,7,8//单击一个数字并获取屏幕 B (6/8) 或 C(5/7)
  • 屏幕 C:9,10,11,12//单击一个数字并得到屏幕 B (10/12)或 C(9/11)
  • 屏幕D://屏幕上有财富

一个典型的游戏(基于点击的数字)会:

    屏幕
  • A:点击 2 转到屏幕 B
  • 屏幕 B:单击 6 转到屏幕 B
  • 屏幕
  • B:点击 8 转到屏幕 D
  • 屏幕D:财富

    屏幕
  • A:点击 1 转到屏幕 C
  • 屏幕 B:单击 10 转到屏幕 B
  • 屏幕
  • B:点击 5 转到屏幕 D
  • 屏幕D:财富

这是一个 JsFiddle 和代码!

function startGame() {
  document.getElementById("s1").innerHTML = "1";
  document.getElementById("s2").innerHTML = "2";
  document.getElementById("s3").innerHTML = "3";
  document.getElementById("s4").innerHTML = "4";
}
function levelA(s1, s2, s3, s4) {
  if (s2 || s4) {
    levelB();
  } else {
    levelC();
  }
}
function levelB() {
  document.getElementById("s1").innerHTML = "5";
  document.getElementById("s2").innerHTML = "6";
  document.getElementById("s3").innerHTML = "7";
  document.getElementById("s4").innerHTML = "8";
  if (s2 || s4) {
    levelB2();
  } else {
    levelC2();
  }
}
function levelB2() {
  document.getElementById("s1").innerHTML = "5";
  document.getElementById("s2").innerHTML = "6";
  document.getElementById("s3").innerHTML = "7";
  document.getElementById("s4").innerHTML = "8";
  if (s2 || s4) {
    levelD();
  } else {
    levelD2();
  }
}
function levelC() {
  document.getElementById("s1").innerHTML = "9";
  document.getElementById("s2").innerHTML = "10";
  document.getElementById("s3").innerHTML = "11";
  document.getElementById("s4").innerHTML = "12";
  if (s2 || s4) {
    levelC2();
  } else {
    levelB2();
  }
}
function levelC2() {
  document.getElementById("s1").innerHTML = "9";
  document.getElementById("s2").innerHTML = "10";
  document.getElementById("s3").innerHTML = "11";
  document.getElementById("s4").innerHTML = "12";
  if (s2 || s4) {
    levelD();
  } else {
    levelD2();
  }
}
function levelD(s1, s2, s3, s4) {
  if (s1) {
    document.getElementById("s1").innerHTML = "Good Things Will Come Your Way";
  } else if (s2) {
    document.getElementById("s2").innerHTML = "Outlook Doesn't Look Good";
  } else if (s3) {
    document.getElementById("s3").innerHTML = "Today Is Your Lucky Day";
  } else if (s4) {
    document.getElementById("s3").innerHTML = "Toady Is Not Your Lucky Day";
  }
}
function levelD2() {
  if (s1) {
    document.getElementById("s1").innerHTML = "You Will Find Good Fortune";
  } else if (s2) {
    document.getElementById("s2").innerHTML = "Your Wish Will Come True";
  } else if (s3) {
    document.getElementById("s3").innerHTML = "Your Wish Will Not Come True";
  } else if (s4) {
    document.getElementById("s3").innerHTML = "Things Do Not Look Good";
  }
}

谢谢你的帮助!

您已经接受了函数 levelA(s1, s2, s3, s4) 中的参数,但没有其他函数接受四个参数,例如 levelD2() 函数您检查 if(s1) 条件但始终为假,因为这里 s1 的值是"未定义的"。 因此,在函数中添加参数以接受来自调用方的值。