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
/*
函数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;
}