<script src="jquery-3.3.1.js"></script>
<script src="jquery.hotkeys.js"></script>
<script>
$(document).ready(function(){
$(document).on("keydown", null, "down", function(){
var leftPaddleRef = document.getElementById('leftPaddle');
if (leftPaddleRef.style.top >= "100") {
alert(leftPaddleRef.style.top);
}
else{
$("#leftPaddle").animate({
top: "+=3%"
},
"fast"
);
}
});
});
</script>
^这是我的脚本。 “leftPaddle”是乒乓球游戏中的左侧球拍,它的“顶部”值为50%的div将其设置在页面的中间位置,我希望它在按下向下键时向下移动直到最高值达到100%。该 “警报(leftPaddleRef.style.top);” 仅用于故障排除目的。
整个程序的问题是第二次按下向下键if语句失败并打印“53.00001%”或具有相似小数位数的东西,如果重要的话。我想知道的是,如果该值仅为53%,那么if语句就会失败。任何人都可以帮助我吗?
答案 0 :(得分:0)
尝试将parseFloat
应用于leftPaddleRef.style.top
。这将删除百分号并将其视为数字/浮点而不是字符串:
<script src="jquery-3.3.1.js"></script>
<script src="jquery.hotkeys.js"></script>
<script>
$(document).ready(function(){
$(document).on("keydown", null, "down", function(){
var leftPaddleRef = document.getElementById('leftPaddle');
var leftPaddleTop = parseFloat(leftPaddleRef.style.top);
if (leftPaddleTop >= 100) {
alert(leftPaddleRef.style.top);
}
else{
$("#leftPaddle").animate({
top: "+=3%"
},
"fast"
);
}
});
});
</script>