Javascript 单击后添加1个减号1

Javascript 单击后添加1个减号1,javascript,add,Javascript,Add,我正在尝试创建一个表单 目标是: 总共28名玩家(ID=totalplayer) 分成4组,每组7人。(组=4,位置=7) 发送表格 单击右箭头时,将+1添加到ID和位置 当位置=7时,将+1添加到组中 我的问题是,当我到达第7位时,团队不会添加+1。 谢谢, /* 函数changeMageUp()将 将+1添加到ID IdNum,直到命中28返回1。 将+1添加到ID后计数命中7返回1。 每次ID后计数器达到7时,将+1添加到ID Groupcounter。 当ID Groupcounter

我正在尝试创建一个表单

目标是:

  • 总共28名玩家(ID=totalplayer)
  • 分成4组,每组7人。(组=4,位置=7)
  • 发送表格
  • 单击右箭头时,将+1添加到ID和位置
  • 当位置=7时,将+1添加到组中
  • 我的问题是,当我到达第7位时,团队不会添加+1。

    谢谢,

    /*
    函数changeMageUp()将
    将+1添加到ID IdNum,直到命中28返回1。
    将+1添加到ID后计数命中7返回1。
    每次ID后计数器达到7时,将+1添加到ID Groupcounter。
    当ID Groupcounter点击4时,返回1。
    */
    函数changeImageUp()
    {	
    positionID=document.getElementById(“IdNum”).getAttribute(“名称”);
    如果(位置ID==28)
    {
    positionID=0;
    }
    var newPosition=parseInt(positionID)+1;
    document.getElementById(“IdNum”).setAttribute(“名称”,newPosition);
    document.getElementById(“IdNum”).innerHTML=“”+newPosition;
    positionSpot=document.getElementById(“Poscounter”).getAttribute(“名称”);
    如果(位置点==7)
    {
    位置点=0;
    }
    var newPositionSpot=parseInt(positionSpot)+1;
    document.getElementById(“Poscounter”).setAttribute(“name”,newPositionSpot);
    document.getElementById(“Poscounter”).innerHTML=“”+newPositionSpot;
    GroupSpot=document.getElementById(“Groupcounter”).getAttribute(“名称”);
    if(GroupSpot==4)
    {
    GroupSpot=0;
    }
    如果(位置ID<7)
    {
    GroupSpot=1;
    document.getElementById(“Groupcounter”).innerHTML=“”+GroupSpot;
    }
    否则,如果(位置ID>6)
    {
    GroupSpot=2;
    document.getElementById(“Groupcounter”).innerHTML=“”+GroupSpot;
    }
    其他的
    {
    GroupSpot=3;
    document.getElementById(“Groupcounter”).innerHTML=“”+GroupSpot;
    }
    }
    函数changeImageDown()
    {	
    positionID=document.getElementById(“IdNum”).getAttribute(“名称”);
    如果(位置ID
    组:
    职位:
    
    ID:
    如果您想滚动数字(如果有限制,则设置为零),您应该使用模运算
    %
    (实际上只是JavaScript中除法的剩余部分),因此

    ,

    根据你的桌子

    ID: 1-7 Group = 1
    ID: 8-14 Group = 2
    ID: 15-21 Group = 3
    ID: 21-28 Group = 4
    
    从代码开始从零开始

    ID: 0-6 Group = 0
    ID: 7-13 Group = 1
    ID: 14-19 Group = 2
    ID: 20-27 Group = 3
    
    的数量是
    ID
    除以7的结果,因此
    的值可以通过
    GroupSpot=Math.floor(positionID/7)
    直接从
    ID
    的值计算得出(如果以零为基础)

    顺便说一句:只要符号保持不变,加一或减一都不会有什么区别,所以你应该能够在一个函数中完成所有操作

    编辑:添加了一些示例代码

    function changeImage(down) {
    
      positionID = parseInt(document.getElementById("IdNum").getAttribute("name"));
          if(down){
            positionID--;
          } else {
            positionID++;
          }
          if(positionID < 0){
            positionID = positionID + 28;
          }
          positionID = positionID % 28;   
    
      document.getElementById("IdNum").setAttribute("name", positionID);
      document.getElementById("IdNum").innerHTML =
        "<input type= 'checkbox' name='ID' value='" + positionID + "'checked> " +
        positionID;
    
      positionSpot = parseInt(document.getElementById("Poscounter").getAttribute("name"));
          if(down){
            positionSpot--;
          } else {
            positionSpot++;
          }
          if(positionSpot < 0){
             positionSpot =  positionSpot + 28;
          }
      positionSpot = positionSpot % 7;
    
      document.getElementById("Poscounter").setAttribute("name", positionSpot);
      document.getElementById("Poscounter").innerHTML =
        "<input type= 'checkbox' name='Position' value='" + positionSpot +
        "'checked> " + positionSpot;
    
      GroupSpot = parseInt(document.getElementById("Groupcounter").getAttribute("name"));
          // not necessary, because we do it directly
      // GroupSpot = GroupSpot % 4;
    
          GroupSpot = Math.floor(positionID / 7);
    
          document.getElementById("Groupcounter").innerHTML =
        "<input type= 'checkbox' name='Position' value='" +  GroupSpot +
        "'checked> " +  GroupSpot;
    }
    
    功能更改图像(向下){
    positionID=parseInt(document.getElementById(“IdNum”).getAttribute(“name”);
    如果(向下){
    位置ID--;
    }否则{
    positionID++;
    }
    如果(位置ID<0){
    位置ID=位置ID+28;
    }
    位置ID=位置ID%28;
    document.getElementById(“IdNum”).setAttribute(“名称”,positionID);
    document.getElementById(“IdNum”).innerHTML=
    " " +
    位置ID;
    positionSpot=parseInt(document.getElementById(“Poscounter”).getAttribute(“name”));
    如果(向下){
    位置点--;
    }否则{
    positionSpot++;
    }
    如果(位置点<0){
    位置点=位置点+28;
    }
    位置点=位置点%7;
    document.getElementById(“Poscounter”).setAttribute(“name”,positionSpot);
    document.getElementById(“Poscounter”).innerHTML=
    “”位置点;
    GroupSpot=parseInt(document.getElementById(“Groupcounter”).getAttribute(“name”);
    //没有必要,因为我们直接做
    //GroupSpot=GroupSpot%4;
    GroupSpot=数学楼层(位置ID/7);
    document.getElementById(“Groupcounter”).innerHTML=
    “+GroupSpot;
    }
    

    我不知道如果它向左滚动全部为零,你想做什么,所以根据你的需要调整。

    在javascript中不是有效的注释,这些是
    html
    注释肯定会在你的控制台中生成错误。你的所有注释应该像
    //newPosition ADD+1 to positionID
    或像
    /*newPosition将+1添加到positionID*/
    此外,使用jQuery可以显著简化此代码,因为在提问时包含了
    jQuery
    标记。但是,在问题中,您可以声明“我正在寻找帮助,以解决代码,而不是升级它,除非它是必要的,使其工作。“这向我表明,使用jQuery是不可接受的。您可能应该删除jQuery标记,或者明确使用它的答案是可接受的。没有人会用jQuery重写问题部分,我们会将整个内容写得更简单:)在添加注释之前,它不起作用,我只是添加注释以使人们理解我的目标。很抱歉,我将更改标记抱歉,刚刚修复了代码。在添加注释之前,它不起作用。所有阻止代码运行的
    html注释是什么?只是修复了代码,抱歉。你是对的评论把一切都搞砸了,但还是阻止了我最初的问题
    ID: 1-7 Group = 1
    ID: 8-14 Group = 2
    ID: 15-21 Group = 3
    ID: 21-28 Group = 4
    
    ID: 0-6 Group = 0
    ID: 7-13 Group = 1
    ID: 14-19 Group = 2
    ID: 20-27 Group = 3
    
    function changeImage(down) {
    
      positionID = parseInt(document.getElementById("IdNum").getAttribute("name"));
          if(down){
            positionID--;
          } else {
            positionID++;
          }
          if(positionID < 0){
            positionID = positionID + 28;
          }
          positionID = positionID % 28;   
    
      document.getElementById("IdNum").setAttribute("name", positionID);
      document.getElementById("IdNum").innerHTML =
        "<input type= 'checkbox' name='ID' value='" + positionID + "'checked> " +
        positionID;
    
      positionSpot = parseInt(document.getElementById("Poscounter").getAttribute("name"));
          if(down){
            positionSpot--;
          } else {
            positionSpot++;
          }
          if(positionSpot < 0){
             positionSpot =  positionSpot + 28;
          }
      positionSpot = positionSpot % 7;
    
      document.getElementById("Poscounter").setAttribute("name", positionSpot);
      document.getElementById("Poscounter").innerHTML =
        "<input type= 'checkbox' name='Position' value='" + positionSpot +
        "'checked> " + positionSpot;
    
      GroupSpot = parseInt(document.getElementById("Groupcounter").getAttribute("name"));
          // not necessary, because we do it directly
      // GroupSpot = GroupSpot % 4;
    
          GroupSpot = Math.floor(positionID / 7);
    
          document.getElementById("Groupcounter").innerHTML =
        "<input type= 'checkbox' name='Position' value='" +  GroupSpot +
        "'checked> " +  GroupSpot;
    }