Javascript 在java脚本中单击按钮时如何增加计数器值

Javascript 在java脚本中单击按钮时如何增加计数器值,javascript,html,Javascript,Html,我是java脚本新手,我正在做一件事,那就是当我点击加号按钮时,css样式被打印出来了,但值没有增加。和单击菜单按钮一样,最后一个子项不会被删除 我想打印css样式和递增值以及相同的递减值,并删除最后一个子项 下面是我的html var计数器=0; var-numBoxes=10; 函数myFunshowDiv{ var ele=document.getElementByIdshowDiv+计数器; ifcounter>numBoxes{ document.getElementByIdincB

我是java脚本新手,我正在做一件事,那就是当我点击加号按钮时,css样式被打印出来了,但值没有增加。和单击菜单按钮一样,最后一个子项不会被删除

我想打印css样式和递增值以及相同的递减值,并删除最后一个子项

下面是我的html

var计数器=0; var-numBoxes=10; 函数myFunshowDiv{ var ele=document.getElementByIdshowDiv+计数器; ifcounter>numBoxes{ document.getElementByIdincBtn.addEventListenerclick,函数{ document.getElementByIddemo.innerHTML=限制已超过; }; } 否则{ ele.style.display=块; } ifcounter>0{ ele.style.display=块; } 否则{ document.getElementByIddecBtn.addEventListenerclick,函数{ document.getElementByIddemo.innerHTML=限制已超过; }; } }

像这样的

var计数=0; 函数myFunction{ 计数++; console.logcount }
单击可以将操作作为参数传递给函数

var count = 0;
function myFunction(action, div) {
  if(action == 'add') {
    count++;
  else {
    count--;
  }
  // do something else
}
然后在你的html上

<button type="button" onclick="myFunction('add', 'box')">+</button>
<button type="button" onclick="myFunction('sub', 'box')">-</button>

我为您要执行的操作传递了一个额外的参数。根据它的值,您可以根据需要执行代码

更新1:-

从div divInfo中删除了静态跨距。 当用户单击加号按钮时,我们将动态添加span。 当用户单击减号按钮时,我们正在从div divInfo中删除最后一个子项。 var计数器=0; var-numBoxes=10; 函数myFunshowDiv,操作{ var containerElement=document.getElementByIdcontainer; ifoperation==增量{ ifcounter>=numBoxes{ document.getElementByIddemo.innerHTML=限制已超过; 回来 } 否则{ document.getElementByIddemo.innerHTML=; } 计数器++; var spn=document.createElementspan; spn.id=盒子+计数器; spn.style=边框:1px纯黑色;背景:CCCCCC;填充:2px;高度:90px;宽度:10px;浮动:左侧;; containerElement.appendChildspn; } else ifoperation==减量{ document.getElementByIddemo.innerHTML=; ifcounter==0{ 回来 } containerElement.removeChildcontainerElement.lastChild; 反;; } var inputBox=document.getElementByIdvalue; inputBox.value=计数器; /* ifcounter>numBoxes{ document.getElementByIdincBtn.addEventListenerclick,函数{ document.getElementByIddemo.innerHTML=限制已超过; }; } 否则{ } ifcounter>0{ ele.style.display=块; } 否则{ document.getElementByIddecBtn.addEventListenerclick,函数{ document.getElementByIddemo.innerHTML=限制已超过; }; }*/ }


这是您为获得所需结果而修改的函数


您可以尝试以下方法:

var counter = 0;
var numBoxes = 10;
function myFun(action, showDiv) {
    if (action == 'add') {
        counter++;
    }else{
        counter--;
    }
    if (counter > 0 && counter > numBoxes) {

         document.getElementById("demo").innerHTML = "Limit Is Over";

    }
    else {
        if (counter > 0) {

            if (action == 'sub' && ((counter + 1) > 0)) {
                var lastEle = document.getElementById(showDiv + 
                   (counter + 1));
                lastEle.style.display = "none";
            } else {
                var ele = document.getElementById(showDiv + counter);
                ele.style.display = "block";
            }
            var inputValue =  
                 document.getElementById("value").setAttribute('value', counter);

        }
        else {

            document.getElementById("demo").innerHTML = "Limit Is Over";

        }
    }

}
和HTML格式

<input id="incBtn" type="button" value="+" onclick="myFun('add','box');">
<input id="decBtn" type="button" value="-" onclick="myFun('sub','box');">

但是,当我的样式打印时,计数器也会增加。当单击菜单按钮时,我的样式不会被删除。如果减量操作的条件出现,则您必须在其中添加代码。请参见更新的代码。我已经对您的一些代码进行了注释。您可以根据需要修改它。我有一个疑问@Lalit i take numBoxes=25;aften 10将不打印为什么?因为您已经静态添加了这些框。请参见DIVIFO中id为box1的跨度。相反,您应该使用javascript动态生成它们。那么它将完美地工作。
var counter = 0;
var numBoxes = 10;
function myFun(action, showDiv) {
    if (action == 'add') {
        counter++;
    }else{
        counter--;
    }
    if (counter > 0 && counter > numBoxes) {

         document.getElementById("demo").innerHTML = "Limit Is Over";

    }
    else {
        if (counter > 0) {

            if (action == 'sub' && ((counter + 1) > 0)) {
                var lastEle = document.getElementById(showDiv + 
                   (counter + 1));
                lastEle.style.display = "none";
            } else {
                var ele = document.getElementById(showDiv + counter);
                ele.style.display = "block";
            }
            var inputValue =  
                 document.getElementById("value").setAttribute('value', counter);

        }
        else {

            document.getElementById("demo").innerHTML = "Limit Is Over";

        }
    }

}
<input id="incBtn" type="button" value="+" onclick="myFun('add','box');">
<input id="decBtn" type="button" value="-" onclick="myFun('sub','box');">