当前位置: 首页 > 编程笔记 >

js实现键盘控制DIV移动的方法

廉展鹏
2023-03-14
本文向大家介绍js实现键盘控制DIV移动的方法,包括了js实现键盘控制DIV移动的方法的使用技巧和注意事项,需要的朋友参考一下

本文实例讲述了js实现键盘控制DIV移动的方法。分享给大家供大家参考。具体分析如下:

css样式部分:

<style type="text/css"> 

html,body{overflow:hidden;}

body{margin:0;padding:0;}

pre{color:green;padding:10px 15px;background:#f0f0f0;border:1px dotted #333;font:12px/1.5 Courier New;margin:12px;}

span{color:#999;}

#box{position:absolute;top:50px;left:300px;width:100px;height:100px;background:red;}

</style>

js部分:

<script type="text/javascript"> 

window.onload = function ()

{

var oBox = document.getElementById("box");

var bLeft = bTop = bRight = bBottom = bCtrlKey = false;

setInterval(function () { if (bLeft) { oBox.style.left = oBox.offsetLeft - 10 + "px" } else if (bRight) { oBox.style.left = oBox.offsetLeft + 10 + "px" }

if (bTop) { oBox.style.top = oBox.offsetTop - 10 + "px"  } else if(bBottom) { oBox.style.top = oBox.offsetTop + 10 + "px" } //防止溢出 limit(); },30); 

document.onkeydown = function (event) { var event = event || window.event; bCtrlKey = event.ctrlKey;

switch (event.keyCode) { case 37: bLeft = true; break; case 38: if(bCtrlKey) { var oldWidth = oBox.offsetWidth; var oldHeight = oBox.offsetHeight;

oBox.style.width = oBox.offsetWidth * 1.5 + "px"; oBox.style.height = oBox.offsetHeight * 1.5 + "px"; 

oBox.style.left = oBox.offsetLeft - (oBox.offsetWidth - oldWidth) / 2 + "px"; oBox.style.top = oBox.offsetTop - (oBox.offsetHeight - oldHeight) / 2 + "px";

break;  } bTop = true; break; case 39: bRight = true; break; case 40: if(bCtrlKey) { var oldWidth = oBox.offsetWidth; var oldHeight = oBox.offsetHeight;

oBox.style.width = oBox.offsetWidth * 0.75 + "px"; oBox.style.height = oBox.offsetHeight * 0.75 + "px"; 

oBox.style.left = oBox.offsetLeft - (oBox.offsetWidth - oldWidth) / 2 + "px"; oBox.style.top = oBox.offsetTop - (oBox.offsetHeight - oldHeight) / 2 + "px";

break;  } bBottom = true; break; case 49: bCtrlKey && (oBox.style.background = "green"); break; case 50: bCtrlKey && (oBox.style.background = "yellow"); break; case 51: bCtrlKey && (oBox.style.background = "blue"); break; }

return false };

document.onkeyup = function (event) { switch ((event || window.event).keyCode) { case 37: bLeft = false; break; case 38: bTop = false; break; case 39: bRight = false; break; case 40: bBottom = false; break; } };

//防止溢出 function limit() { var doc = [document.documentElement.clientWidth, document.documentElement.clientHeight] //防止左侧溢出 oBox.offsetLeft <=0 && (oBox.style.left = 0); //防止顶部溢出 oBox.offsetTop <=0 && (oBox.style.top = 0); //防止右侧溢出 doc[0] - oBox.offsetLeft - oBox.offsetWidth <= 0 && (oBox.style.left = doc[0] - oBox.offsetWidth + "px"); //防止底部溢出 doc[1] - oBox.offsetTop - oBox.offsetHeight <= 0 && (oBox.style.top = doc[1] - oBox.offsetHeight + "px") } }; </script>

说明:

上:↑ 下:↓ 左:← 右:→
Ctrl + 1 : 背景变为绿色
Ctrl + 2 : 背景变为黄色
Ctrl + 3 : 背景变为蓝色
Ctrl + ↑ : 放大
Ctrl + ↓ : 缩小

html部分:

被移动的方块【DIV】

<div id="box"></div>

希望本文所述对大家的javascript程序设计有所帮助。

 类似资料:
  • 本文向大家介绍原生js实现键盘控制div移动且解决停顿问题,包括了原生js实现键盘控制div移动且解决停顿问题的使用技巧和注意事项,需要的朋友参考一下 首先说明下为什么会停顿? 效果 :用键盘控制一个div移动 当按下一个方向键不放,div会先停顿一下,然后才开始持续移动。 原因:系统要区分用户是否连续输入,第一个到第二个之间有一个停顿时间 注:了解原因才能解决问题 效果展示 1.简单控制,但是有

  • 本文向大家介绍JavaScript利用键盘码控制div移动,包括了JavaScript利用键盘码控制div移动的使用技巧和注意事项,需要的朋友参考一下 前言 在生活中肯定有玩过贪吃蛇的游戏,那么要怎么样用键盘码来实现div的移动呢?下面就分享一个Demo。 利用键盘码来控制div移动源码 上面就是Demo的所有源码,我们可以通过键盘码来控制div来移动,里面具体的参数可以自己修改。 以上就是本文的

  • 本文向大家介绍Js实现网页键盘控制翻页的方法,包括了Js实现网页键盘控制翻页的方法的使用技巧和注意事项,需要的朋友参考一下 本文实例讲述了Js实现网页键盘控制翻页的方法。分享给大家供大家参考。具体实现方法如下: 键盘控制翻页效果我想我们不少见了,经常在很多网站特别是相册的效果都可以直接使用键盘进行上下页进行翻页了,原理很简单,只要利用js监测用户是否有按上下键即可实现。 举例如下: js代码如下:

  • 本文向大家介绍js实现可键盘控制的简单抽奖程序,包括了js实现可键盘控制的简单抽奖程序的使用技巧和注意事项,需要的朋友参考一下 本文实例为大家分享了js抽奖程序的编写代码,以及编写注意事项,感兴趣的小伙伴们可以参考一下   代码: 注意点: 1.随机数,取数组的其中一个;取0-n之间:Math.random()*(n+1) 2.定时器,开始抽奖时要停止前面的一次抽奖,不然会定时器重叠 3.按键操作

  • 本文向大家介绍js实现键盘Enter键提交表单的方法,包括了js实现键盘Enter键提交表单的方法的使用技巧和注意事项,需要的朋友参考一下 本文实例讲述了js实现键盘Enter键提交表单的方法。分享给大家供大家参考。具体实现方法如下: 最后只需要在body中加入:<body onkeydown="keyDown(event);">。   或者如下方法,但是在火狐浏览器下不兼容: 希望本文所述对大家

  • 本文向大家介绍python PyAUtoGUI库实现自动化控制鼠标键盘,包括了python PyAUtoGUI库实现自动化控制鼠标键盘的使用技巧和注意事项,需要的朋友参考一下 PyAutoGUI 不知道你有没有用过,它是一款用Python自动化控制键盘、鼠标的库。但凡是你不想手动重复操作的工作都可以用这个库来解决。 比如,我想半夜时候定时给发个微信,或者每天自动刷页面等操作,它能完全模拟手动操作,