试图切换不同的“屏幕”通过在CSS中使用DIV,JavaScript,使用Display:None或Block。除最后一个切换外,一切都起作用

发布于 2025-01-22 01:19:34 字数 3162 浏览 3 评论 0原文

我以为我知道该怎么做,因为除了最后一个,我所有的切换都起作用。我不知道为什么!它以与其他之前的方式相同的方式编写。不起作用的一个是具有ID =“ startyearone”的按钮,该按钮应该切换到下一个div,即“ scrcontrols”,但它不像其他div。

document.getElementById("btnProfessions").addEventListener("click", funcProfessions);
document.getElementById("btnYearOne").addEventListener("click", startYearOne);

function funcProfessions() {

  document.getElementsByClassName("scrProfessions")[0].style.display = "none";
  document.getElementsByClassName("scrChosenCareer")[0].style.display = "block";

  var listProfessions = ["nurse", "worker", "teacher"];

  var randomCareer = listProfessions[Math.floor(Math.random()*listProfessions.length)];
  document.body.innerHTML = document.body.innerHTML.replace('profession', randomCareer);

  switch (randomCareer) {
    case 'nurse':
      document.getElementById("imgCareer").src="images/nurse.png";
      document.body.innerHTML = document.body.innerHTML.replace('0', '1300');
      break;
    case 'worker':
      document.getElementById("imgCareer").src="images/worker.webp";
      document.body.innerHTML = document.body.innerHTML.replace('0', '1000');
      break;
    case 'teacher':
      document.getElementById("imgCareer").src="images/teacher.jpg";
      document.body.innerHTML = document.body.innerHTML.replace('0', '1500');
      break;
  }
}



function startYearOne() {
  console.log("startYear works!");
  document.getElementsByClassName("scrChosenCareer")[0].style.display = "none";
  document.getElementsByClassName("scrControls")[0].style.display = "block";
}
.scrChosenCareer{
  display:none;
}
.scrControls{
  display:none;
}
<div class="scrChosenCareer">
        <h3>Congratulations! You are a profession. You make $0 a year.</h3>
        <img src="images/doctor2.jpg" id="imgCareer"></img>
        <h3>After incurring living expenses of $700 a year,
        you can allocate the rest into:</h3>
        <ul>
          <li>a bank, and gain a 5% annual interest. </li>
          <li>put it in stocks and see how the market performs.</li>
          <li>Any money not allocated, will be placed as cash under your mattress.</li>
        </ul>
        <button id="btnYearOne">Click to continue</button>
    </div>

    <div class="scrControls">
        <input type="range" value="50" min="0" max="100" id="rStocks" oninput="rangevalue.value=value"/></input>
        <input type="number" id="stocksValue" value="50" oninput="range.value=value"></input>

        <input type="range" value="50" min="0" max="100" id="rBank" oninput="rangevalue.value=value"/></input>
        <input type="number" id="bankValue" value="50" oninput="range.value=value"></input>

        <button id="btnContinue">Continue to Next Year</button>
    </div>

游戏机上也没有出现。

任何帮助将不胜感激!

I thought I understood how to do this because all my toggles work, except for the last one. I can't figure out why!! It's written in the same way as other ones before it. The one that doesn't work is specifically the button with id="startYearOne" That's supposed to toggle to the next div which is "scrControls" but it doesn't work like the other ones.

document.getElementById("btnProfessions").addEventListener("click", funcProfessions);
document.getElementById("btnYearOne").addEventListener("click", startYearOne);

function funcProfessions() {

  document.getElementsByClassName("scrProfessions")[0].style.display = "none";
  document.getElementsByClassName("scrChosenCareer")[0].style.display = "block";

  var listProfessions = ["nurse", "worker", "teacher"];

  var randomCareer = listProfessions[Math.floor(Math.random()*listProfessions.length)];
  document.body.innerHTML = document.body.innerHTML.replace('profession', randomCareer);

  switch (randomCareer) {
    case 'nurse':
      document.getElementById("imgCareer").src="images/nurse.png";
      document.body.innerHTML = document.body.innerHTML.replace('0', '1300');
      break;
    case 'worker':
      document.getElementById("imgCareer").src="images/worker.webp";
      document.body.innerHTML = document.body.innerHTML.replace('0', '1000');
      break;
    case 'teacher':
      document.getElementById("imgCareer").src="images/teacher.jpg";
      document.body.innerHTML = document.body.innerHTML.replace('0', '1500');
      break;
  }
}



function startYearOne() {
  console.log("startYear works!");
  document.getElementsByClassName("scrChosenCareer")[0].style.display = "none";
  document.getElementsByClassName("scrControls")[0].style.display = "block";
}
.scrChosenCareer{
  display:none;
}
.scrControls{
  display:none;
}
<div class="scrChosenCareer">
        <h3>Congratulations! You are a profession. You make $0 a year.</h3>
        <img src="images/doctor2.jpg" id="imgCareer"></img>
        <h3>After incurring living expenses of $700 a year,
        you can allocate the rest into:</h3>
        <ul>
          <li>a bank, and gain a 5% annual interest. </li>
          <li>put it in stocks and see how the market performs.</li>
          <li>Any money not allocated, will be placed as cash under your mattress.</li>
        </ul>
        <button id="btnYearOne">Click to continue</button>
    </div>

    <div class="scrControls">
        <input type="range" value="50" min="0" max="100" id="rStocks" oninput="rangevalue.value=value"/></input>
        <input type="number" id="stocksValue" value="50" oninput="range.value=value"></input>

        <input type="range" value="50" min="0" max="100" id="rBank" oninput="rangevalue.value=value"/></input>
        <input type="number" id="bankValue" value="50" oninput="range.value=value"></input>

        <button id="btnContinue">Continue to Next Year</button>
    </div>

Nothing shows up on console either.

Any help would be highly appreciated!

如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。

扫码二维码加入Web技术交流群

发布评论

需要 登录 才能够评论, 你可以免费 注册 一个本站的账号。

评论(1

爱的那么颓废 2025-01-29 01:19:34

哪个元素具有“ BTNProfessions”的ID?您的意思是“ btncontinue”?

哪个元素具有“ scrprofessions”的类名称?你是说“ scrcontrols”?

document.getElementById("btnContinue").addEventListener("click", funcProfessions);
document.getElementById("btnYearOne").addEventListener("click", startYearOne);

function funcProfessions() {

document.getElementsByClassName("scrControls")[0].style.display = "none";
  document.getElementsByClassName("scrChosenCareer")[0].style.display = "block";

  var listProfessions = ["nurse", "worker", "teacher"];

  var randomCareer = listProfessions[Math.floor(Math.random()*listProfessions.length)];
  document.body.innerHTML = document.body.innerHTML.replace('profession', randomCareer);

  switch (randomCareer) {
    case 'nurse':
      document.getElementById("imgCareer").src="images/nurse.png";
      document.body.innerHTML = document.body.innerHTML.replace('0', '1300');
      break;
    case 'worker':
      document.getElementById("imgCareer").src="images/worker.webp";
      document.body.innerHTML = document.body.innerHTML.replace('0', '1000');
      break;
    case 'teacher':
      document.getElementById("imgCareer").src="images/teacher.jpg";
      document.body.innerHTML = document.body.innerHTML.replace('0', '1500');
      break;
  }
}



function startYearOne() {
  console.log("startYear works!");
  document.getElementsByClassName("scrChosenCareer")[0].style.display = "none";
  document.getElementsByClassName("scrControls")[0].style.display = "block";
}
.scrChosenCareer{
  /* display:none; */
}
.scrControls{
  display:none;
}
<div class="scrChosenCareer">
        <h3>Congratulations! You are a profession. You make $0 a year.</h3>
        <img src="images/doctor2.jpg" id="imgCareer"></img>
        <h3>After incurring living expenses of $700 a year,
        you can allocate the rest into:</h3>
        <ul>
          <li>a bank, and gain a 5% annual interest. </li>
          <li>put it in stocks and see how the market performs.</li>
          <li>Any money not allocated, will be placed as cash under your mattress.</li>
        </ul>
        <button id="btnYearOne">Click to continue</button>
    </div>

    <div class="scrControls">
        <input type="range" value="50" min="0" max="100" id="rStocks" oninput="rangevalue.value=value"/></input>
        <input type="number" id="stocksValue" value="50" oninput="range.value=value"></input>

        <input type="range" value="50" min="0" max="100" id="rBank" oninput="rangevalue.value=value"/></input>
        <input type="number" id="bankValue" value="50" oninput="range.value=value"></input>

        <button id="btnContinue">Continue to Next Year</button>
    </div>

Which element has an ID of "btnProfessions"? Do you mean "btnContinue"?

Which element has a class-name of "scrProfessions"? Do you mean "scrControls"?

document.getElementById("btnContinue").addEventListener("click", funcProfessions);
document.getElementById("btnYearOne").addEventListener("click", startYearOne);

function funcProfessions() {

document.getElementsByClassName("scrControls")[0].style.display = "none";
  document.getElementsByClassName("scrChosenCareer")[0].style.display = "block";

  var listProfessions = ["nurse", "worker", "teacher"];

  var randomCareer = listProfessions[Math.floor(Math.random()*listProfessions.length)];
  document.body.innerHTML = document.body.innerHTML.replace('profession', randomCareer);

  switch (randomCareer) {
    case 'nurse':
      document.getElementById("imgCareer").src="images/nurse.png";
      document.body.innerHTML = document.body.innerHTML.replace('0', '1300');
      break;
    case 'worker':
      document.getElementById("imgCareer").src="images/worker.webp";
      document.body.innerHTML = document.body.innerHTML.replace('0', '1000');
      break;
    case 'teacher':
      document.getElementById("imgCareer").src="images/teacher.jpg";
      document.body.innerHTML = document.body.innerHTML.replace('0', '1500');
      break;
  }
}



function startYearOne() {
  console.log("startYear works!");
  document.getElementsByClassName("scrChosenCareer")[0].style.display = "none";
  document.getElementsByClassName("scrControls")[0].style.display = "block";
}
.scrChosenCareer{
  /* display:none; */
}
.scrControls{
  display:none;
}
<div class="scrChosenCareer">
        <h3>Congratulations! You are a profession. You make $0 a year.</h3>
        <img src="images/doctor2.jpg" id="imgCareer"></img>
        <h3>After incurring living expenses of $700 a year,
        you can allocate the rest into:</h3>
        <ul>
          <li>a bank, and gain a 5% annual interest. </li>
          <li>put it in stocks and see how the market performs.</li>
          <li>Any money not allocated, will be placed as cash under your mattress.</li>
        </ul>
        <button id="btnYearOne">Click to continue</button>
    </div>

    <div class="scrControls">
        <input type="range" value="50" min="0" max="100" id="rStocks" oninput="rangevalue.value=value"/></input>
        <input type="number" id="stocksValue" value="50" oninput="range.value=value"></input>

        <input type="range" value="50" min="0" max="100" id="rBank" oninput="rangevalue.value=value"/></input>
        <input type="number" id="bankValue" value="50" oninput="range.value=value"></input>

        <button id="btnContinue">Continue to Next Year</button>
    </div>

~没有更多了~
我们使用 Cookies 和其他技术来定制您的体验包括您的登录状态等。通过阅读我们的 隐私政策 了解更多相关信息。 单击 接受 或继续使用网站,即表示您同意使用 Cookies 和您的相关数据。
原文