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