在其他代码执行后无法工作的代码
code that wont work after other code executes
我正在为 class 开发一款游戏,如果我执行另一部分代码,有些代码将无法执行,抱歉,这个问题很难解释,但我想得到一些帮助。我将 link 和 fiddle 放在这里,这样您就可以看到实际的代码 https://jsfiddle.net/Gamebit/96mLcfxw/
这是行不通的代码
//this is the code that wont work
if(moveKey.key === 'a'){
$("#bidenHead").animate({marginLeft: "+250px"}, 500, function(){});
$("#body").animate({marginLeft: "+295px"}, 565, function(){});
$("#leftArm").animate({marginLeft: "+268px"}, 645, function(){});
$("#rightArm").animate({marginLeft: "+323px"}, 450, function(){});
$("#rightLeg").animate({marginLeft: "+328px"}, 625, function(){});
$("#leftLeg").animate({marginLeft: "+260px"}, 450, function(){});
}
//if I execute this code the above wont execute
if(moveKey.key === 'd') {
$("#bidenHead").animate({right: "250px"}, 500, function(){});
$("#body").animate({right: "295px"}, 565, function(){});
$("#leftArm").animate({right: "322px"}, 645, function(){});
$("#rightArm").animate({right: "267px"}, 450, function(){});
$("#rightLeg").animate({right: "260px"}, 625, function(){});
$("#leftLeg").animate({right: "330px"}, 450, function(){});
}
})
这里是css如果你需要它
img {
position: absolute;
border-radius: 100px;
height: 100px;
width: 100px;
margin-left: 510px;
margin-top: 200px;
}
.stickBody {
position: absolute;
background-color: black;
width: 5px;
height: 100px;
margin-left: 556px;
margin-top: 300px;
}
.stickArmLeft {
position: absolute;
transform: rotate(45deg);
background-color: black;
width: 5px;
height: 80px;
margin-left: 528px;
margin-top: 300px;
}
.stickArmRight {
position: absolute;
transform: rotate(135deg);
background-color: black;
width: 5px;
height: 80px;
margin-left: 585px;
margin-top: 300px;
}
.stickLegLeft {
position: absolute;
transform: rotate(45deg);
background-color: black;
width: 5px;
height: 100px;
margin-left: 522px;
margin-top: 385px;
}
.stickLegRight {
position: absolute;
transform: rotate(135deg);
background-color: black;
width: 5px;
height: 100px;
margin-left: 590px;
margin-top: 385px;
}
p1 {
position: absolute;
top: 100px;
}
p2 {
position: absolute;
top: 70px;
}
p3 {
position: absolute;
top: 400px;
left: 1056px;
}
p4 {
position: absolute;
top: 370px;
left: 1045px;
}
“a”的代码正在执行,只是“marginLeft”属性 没有移动图形。
如果您像使用“d”一样使用“右”属性 替换它,但使用不同的偏移量,例如您在“w”中使用“顶部”属性 和"s" 那么它将按照您的预期工作。
可能有更好的方法来处理移动图形,但这就是您遇到的问题。
我正在为 class 开发一款游戏,如果我执行另一部分代码,有些代码将无法执行,抱歉,这个问题很难解释,但我想得到一些帮助。我将 link 和 fiddle 放在这里,这样您就可以看到实际的代码 https://jsfiddle.net/Gamebit/96mLcfxw/
这是行不通的代码
//this is the code that wont work
if(moveKey.key === 'a'){
$("#bidenHead").animate({marginLeft: "+250px"}, 500, function(){});
$("#body").animate({marginLeft: "+295px"}, 565, function(){});
$("#leftArm").animate({marginLeft: "+268px"}, 645, function(){});
$("#rightArm").animate({marginLeft: "+323px"}, 450, function(){});
$("#rightLeg").animate({marginLeft: "+328px"}, 625, function(){});
$("#leftLeg").animate({marginLeft: "+260px"}, 450, function(){});
}
//if I execute this code the above wont execute
if(moveKey.key === 'd') {
$("#bidenHead").animate({right: "250px"}, 500, function(){});
$("#body").animate({right: "295px"}, 565, function(){});
$("#leftArm").animate({right: "322px"}, 645, function(){});
$("#rightArm").animate({right: "267px"}, 450, function(){});
$("#rightLeg").animate({right: "260px"}, 625, function(){});
$("#leftLeg").animate({right: "330px"}, 450, function(){});
}
})
这里是css如果你需要它
img {
position: absolute;
border-radius: 100px;
height: 100px;
width: 100px;
margin-left: 510px;
margin-top: 200px;
}
.stickBody {
position: absolute;
background-color: black;
width: 5px;
height: 100px;
margin-left: 556px;
margin-top: 300px;
}
.stickArmLeft {
position: absolute;
transform: rotate(45deg);
background-color: black;
width: 5px;
height: 80px;
margin-left: 528px;
margin-top: 300px;
}
.stickArmRight {
position: absolute;
transform: rotate(135deg);
background-color: black;
width: 5px;
height: 80px;
margin-left: 585px;
margin-top: 300px;
}
.stickLegLeft {
position: absolute;
transform: rotate(45deg);
background-color: black;
width: 5px;
height: 100px;
margin-left: 522px;
margin-top: 385px;
}
.stickLegRight {
position: absolute;
transform: rotate(135deg);
background-color: black;
width: 5px;
height: 100px;
margin-left: 590px;
margin-top: 385px;
}
p1 {
position: absolute;
top: 100px;
}
p2 {
position: absolute;
top: 70px;
}
p3 {
position: absolute;
top: 400px;
left: 1056px;
}
p4 {
position: absolute;
top: 370px;
left: 1045px;
}
“a”的代码正在执行,只是“marginLeft”属性 没有移动图形。
如果您像使用“d”一样使用“右”属性 替换它,但使用不同的偏移量,例如您在“w”中使用“顶部”属性 和"s" 那么它将按照您的预期工作。
可能有更好的方法来处理移动图形,但这就是您遇到的问题。