Я пытаюсь переместить изображение с помощью клавиш со стрелками в Javascript и не позволять ему перемещаться с экрана. Код, похоже, работает для предотвращения левой стороны, но не справа. Вот мой код. Любые предложения будут полезны. Благодарю!!
<html>
<head>
<style>
*{
margin:0;
padding:0;
overflow:hidden;
}
html, body{
height: 100%;
width: 100%;
margin: 0;
}
</style>
</head>
<body onkeydown="checkKey();">
<img id="player" src="left.gif" />
<script type="text/javascript">
var image = document.getElementById('player');
image.style.left = '0px';
image.style.position= 'relative';
function checkKey(event){
event = event || window.event;
var keycode = event.charCode || event.keyCode;
if(keycode === 39){
moveRight();
}
if(keycode === 37){
moveLeft();
}
}
if (image.style.left < screen.width + 'px'){
image.style.left = parseInt(image.style.left,10) + 10 + 'px';
}
function moveLeft(){
if (image.style.left > 0 + 'px'){
image.style.left = parseInt(image.style.left, 10) - 10 + 'px';
}
}
</script>
</body>
</html>
Попробуйте это | DEMO
var image;
window.onload=function(){
image = document.getElementById('player');
image.style.left = '0px';
image.style.position= 'relative';
}
function checkKey(event)
{
event = event || window.event;
var keycode = event.charCode || event.keyCode;
if(keycode === 39)
{
moveRight();
}
if(keycode === 37)
{
moveLeft();
}
}
function moveLeft()
{
if (parseInt(image.style.left) > 0)
{
image.style.left = parseInt(image.style.left, 10) - 10 + 'px';
}
}
function moveRight()
{
var parentWidth = image.parentNode.offsetWidth;
if (parseInt(image.style.left)+image.offsetWidth <parentWidth)
{
image.style.left = parseInt(image.style.left, 10) + 10 + 'px';
}
}