Javascript 解析整数减法在JS中是如何工作的(Ionic 5+;Angular)?

Javascript 解析整数减法在JS中是如何工作的(Ionic 5+;Angular)?,javascript,html,angular,ionic-framework,parseint,Javascript,Html,Angular,Ionic Framework,Parseint,我正在使用Angular在Ionic 5中开发一个基于点的问题游戏。我之前问过如何使加法按钮按预期工作,它工作得很好,但现在当我尝试使用相同的方法进行点减法时,我得到了一个“Nan”框 我曾尝试重新设计我的GUI,看看问题是否在这方面,但没有任何改变 一般来说,我是爱奥尼亚和HTML的超级初学者,所以我的代码很可能是垃圾。任何帮助都会很好 下面是我修改之前的代码 <!DOCTYPE html> <html lang="en"> <head> <me

我正在使用Angular在Ionic 5中开发一个基于点的问题游戏。我之前问过如何使加法按钮按预期工作,它工作得很好,但现在当我尝试使用相同的方法进行点减法时,我得到了一个“Nan”框

我曾尝试重新设计我的GUI,看看问题是否在这方面,但没有任何改变

一般来说,我是爱奥尼亚和HTML的超级初学者,所以我的代码很可能是垃圾。任何帮助都会很好

下面是我修改之前的代码


<!DOCTYPE html>
<html lang="en">
<head>
  <meta charset="UTF-8">
  <meta name="viewport" content="width=device-width, initial-scale=1.0">
  <title>Point Game</title>
  <script type="module" src="https://cdn.jsdelivr.net/npm/@ionic/core@4.7.4/dist/ionic/ionic.esm.js"></script>
  <script nomodule src="https://cdn.jsdelivr.net/npm/@ionic/core@4.7.4/dist/ionic/ionic.js"></script>
  <link rel="stylesheet" href="https://cdn.jsdelivr.net/npm/@ionic/core@4.7.4/css/ionic.bundle.css"/>
  <style>
    :root {
      --ion-safe-area-top: 20px;
      --ion-safe-area-bottom: 22px;
    }
  </style>
  <script>

    function openMenu() {
      document.querySelector('ion-menu-controller').open();
    }

    function p1point(){
      var p1pp = document.getElementById("p1p").innerText; //getting text inside element
      p1pp = parseInt(p1pp) + 1; //Increment
      document.getElementById("p1p").innerHTML = p1pp; // Writing values
    }
    function p2point(){
      var p2pp = document.getElementById("p2p").innerText; //getting text inside element
      p2pp = parseInt(p2pp) + 1; //Increment
      document.getElementById("p2p").innerHTML = p2pp; // Writing values
    }
    function p1minus(){
      var p1mm = document.getElementById("p1min").innerText; //getting text inside element
      p1mm = parseInt(p1mm) - 1; //Increment
      document.getElementById("p1min").innerHTML = p1mm; // Writing values
    }
    function p2minus(){
      var p2mm = document.getElementById("p2min").innerText; //getting text inside element
      p2mm = parseInt(p2mm) - 1; //Increment
      document.getElementById("p2min").innerHTML = p2mm; // Writing values
    }
  </script>
</head>
<body>
  <ion-app>
    <ion-menu side="start">
      <ion-header>
        <ion-toolbar translucent>
          <ion-title>Menu</ion-title>
        </ion-toolbar>
      </ion-header>
      <ion-content>
        <ion-list>
          <ion-item>
            <ion-icon name="home" slot="start"></ion-icon>
            <ion-label>Home</ion-label>
          </ion-item>
          <ion-item>
            <ion-icon name="person" slot="start"></ion-icon>
            <ion-label>Profile</ion-label>
          </ion-item>
          <ion-item>
            <ion-icon name="chatbubbles" slot="start"></ion-icon>
            <ion-label>Messages</ion-label>
          </ion-item>
          <ion-item>
            <ion-icon name="settings" slot="start"></ion-icon>
            <ion-label>Settings</ion-label>
          </ion-item>
        </ion-list>
      </ion-content>
    </ion-menu>

    <div class="ion-page" main>
      <ion-header>
        <ion-toolbar>
          <ion-buttons slot="start">
            <ion-menu-button></ion-menu-button>
          </ion-buttons>
          <ion-title>Point Game</ion-title>
        </ion-toolbar>
      </ion-header>
      <ion-content class="ion-padding">
        <ion-grid>
          <ion-row>
            <ion-col>
              <ion-card>
                <!--Player 1 score-->
                <ion-card-header>
                  <ion-card-subtitle class = "ion-text-center">Player 1</ion-card-subtitle>
                  <ion-card-title class = "ion-text-center" id = "p1p">0</ion-card-title>
                </ion-card-header>
              </ion-card>
            </ion-col>
            <ion-col size = -1>
              <!-- fake inner thing psuedo-col-->

            </ion-col>
            <ion-col>
              <ion-card>
                <!--Player 2 score-->
                <ion-card-header>
                  <ion-card-subtitle class = "ion-text-center">Player 2</ion-card-subtitle>
                  <ion-card-title class = "ion-text-center" id = "p2p">0</ion-card-title>
                </ion-card-header>
              </ion-card>
            </ion-col>
          </ion-row>
          <ion-row>
            <ion-col width-50 style = "text-align: right">
              <ion-button id = "p1plus" onclick="p1point()" > + </ion-button>
            </ion-col>
            <ion-col size = .15>
              <!-- fake inner thing psuedo-col-->

            </ion-col>
            <ion-col width-50 style = "text-align: right">
              <ion-button id = "p2plus" onclick="p2point()"> + </ion-button>
            </ion-col>
            <ion-col size = -3>
              <!-- fake inner thing psuedo-col-->

            </ion-col>
          </ion-row>
        </ion-row>
        <ion-row>
          <ion-col width-50 style = "text-align: right">
            <ion-button id = "p1min" onclick="p1minus()" >  -  </ion-button>
          </ion-col>
          <ion-col size = .15>
            <!-- fake inner thing psuedo-col-->

          </ion-col>
          <ion-col width-50 style = "text-align: right">
            <ion-button id = "p2min" onclick="p2minus()">  -  </ion-button>
          </ion-col>
          <ion-col size = -3>
            <!-- fake inner thing psuedo-col-->

          </ion-col>
        </ion-row>
        </ion-grid>

      </ion-content>
    </div>
  </ion-app>
  <ion-menu-controller></ion-menu-controller>


</body>
</html>


积分游戏
:根{
--离子安全区顶部:20px;
--离子安全区底部:22px;
}
函数openMenu(){
document.querySelector('ion-menu-controller').open();
}
函数p1point(){
var p1pp=document.getElementById(“p1p”).innerText;//获取元素内部的文本
p1pp=parseInt(p1pp)+1;//增量
document.getElementById(“p1p”).innerHTML=p1pp;//写入值
}
函数p2point(){
var p2pp=document.getElementById(“p2p”).innerText;//获取元素内部的文本
p2pp=parseInt(p2pp)+1;//增量
document.getElementById(“p2p”).innerHTML=p2pp;//写入值
}
函数p1减去(){
var p1mm=document.getElementById(“p1min”).innerText;//获取元素内部的文本
p1mm=parseInt(p1mm)-1;//增量
document.getElementById(“p1min”).innerHTML=p1mm;//写入值
}
函数p2减去(){
var p2mm=document.getElementById(“p2min”).innerText;//获取元素内部的文本
p2mm=parseInt(p2mm)-1;//增量
document.getElementById(“p2min”).innerHTML=p2mm;//写入值
}
菜单
家
轮廓
信息
设置
积分游戏
玩家1
0
玩家2
0
+ 
+ 
-  
-  

我认为减号函数的问题在于,您得到的是按钮的
内部文本。您正在使用
p1min
p2min
ID,这些文本不是数字。这就是为什么你会得到
NaN

你说我用什么来代替?我认为你应该用
p1p
p2p
id来代替,这就是你拥有玩家点数的地方,对吧?我这样做了,还添加了一个函数来阻止它变为负值。谢谢你的帮助!