无聊写了一个js的东西,关于按键的控制

原创 2004年12月31日 16:10:00

<html>

<head>

<meta http-equiv="Content-Type" content="text/html; charset=gb2312">
<title>调速</title>
<script language="javascript">
ns4=(document.layers)?true:false;
ie4=(document.all)?true:false;
document.onkeydown=keydown
document.onkeyup=keyup
var direct;
var ekey;
var directkey;
function init(){
        if(ns4) block=document.blockDiv;
        if(ie4)block=blockDiv.style;
        block.xpos=parseInt(block.left);
        block.ypos=parseInt(block.top);
      //alert(block.left);
        block.active=0;
        block.speed=5;
        block.angle=0;
        block.xinc=0;
        block.yinc=0;
       
       
        }
function keydown(){
     ekey=event.keyCode;
     if(block.active==1)
     {
       if(directkey<=40){
           switch(directkey){
              case 37:
                     switch(ekey){
                          case 38:
                              directkey=41;
                              break;
                          case 40:
                              directkey=44;
                              break;
                              }
                      break;                              
              case 38:
                     switch(ekey){
                          case 39:
                              directkey=42;
                              break;
                          case 37:
                              directkey=41;
                              break;
                              }
                              break;
              case 39:
                     switch(ekey){
                          case 38:
                              directkey=42;
                              break;
                          case 40:
                              directkey=43;
                              break;
                              } 
                              break;
             case 40:
                     switch(ekey){
                          case 39:
                              directkey=43;
                              break;
                          case 37:
                              directkey=44;
                              break;
                              }
                              break;
                              }            
          //alert("ttt");
          }
       }
       else{      
           if((ekey==37)||(ekey==38)||(ekey==39)||(ekey==40)){
              block.active=1;
              block.getfocus;
              directkey=ekey
               }      
          }
     switch(directkey){
          case 37:
               slide(37);
               break;
          case 38:
               slide(38);
               break;
          case 39:
               slide(39);
               break;
          case 40:
               slide(40);
               break;
          case 41:
               slide(41);
               break;
          case 42:
               slide(42);
               break;
          case 43:
               slide(43);
               break;
          case 44:
               slide(44);
               break;
          } 
 }  
function keyup(){
    if(block.active==1){
       block.active=0;
        }
     }
function slide(direct){
  // alert("ttt");
  if(block.active==1){
     if(direct==37){
         //alert("ttt");
        
             block.xpos=block.xpos-block.speed;
             block.left=block.xpos;
                    
          }
     if(direct==38){
       if(parseInt(block.top)>0){
         block.ypos=block.ypos-block.speed;
         block.top=block.ypos;
          }
        }
    if(direct==39){
         block.xpos=block.xpos+block.speed;
         block.left=block.xpos;
         }
    if(direct==40){
         block.ypos=block.ypos+block.speed;
         block.top=block.ypos;
         }
    if(direct==41){
         block.ypos=block.ypos-block.speed;
         block.xpos=block.xpos-block.speed;
         block.left=block.xpos;
         block.top=block.ypos;
         }
    if(direct==42){
         block.ypos=block.ypos-block.speed;
         block.xpos=block.xpos+block.speed;
         block.left=block.xpos;
         block.top=block.ypos;
         }
    if(direct==43){
         block.ypos=block.ypos+block.speed;
         block.xpos=block.xpos+block.speed;
         block.left=block.xpos;
         block.top=block.ypos;
         }
    if(direct==44){
         block.ypos=block.ypos+block.speed;
         block.xpos=block.xpos-block.speed;
         block.left=block.xpos;
         block.top=block.ypos;
         }
   setTimeout("slide(direct)",30)
       }
   }
function speed(){
   var speedvalue;
   speedvalue=document.getElementById("speed");
   switch(speedvalue.value){
        case "slow":
              block.speed=5;
              break;
        case "normal":
              block.speed=10;
              break;
        case "quick":
              block.speed=15;
              break;
              }
      }   
</script>

</head>

<body onload="init()">
<div id="blockDiv" style="position:absolute; left:400; top:200; width:30; visibility:visible;">
<table bgcolor="ff00ff" width=90 height=100>
<tr><td></td>
</tr>
</table>
</div>
<select id="speed">
    <option value="slow">slow</option>
    <option value="normal">normal</option>
    <option value="quick">quick</option>
</select>
<a href="javascript:speed()">调速</a>

</body>

</html>

FPGA学习之按键控制led

按键控制led 设计要求:通过8个按键分别控制一个led的亮灭。   该实验有两个模块:按键缓存模块和由按键值控制led模块 按键缓存模块:通过二级缓存,将按键值存入key_r...
  • tutu1583
  • tutu1583
  • 2015年12月06日 21:39
  • 1693

STM32学习笔记之按键查询方式控制led灯的亮灭

其实接触STM32已经快半年了,端断续续的也学习了一下的STM32的各个模块的基本功能,刚开始的时候也是看比人的写的代码,看懂了然后再去修改,能够在自己的平台上实现基本的功能,也就是到现在才能真正的按...
  • yuewen2008
  • yuewen2008
  • 2013年01月06日 16:54
  • 3354

3.按键控制LED灯亮灭

实验现象:本实验通过一个按键来控制一个发光二极管的亮灭。按键按一下LED点亮。再按一下LED熄灭。 理论学习: 该实验主要难点:  如何扫描按键的状态?  如何防抖动?  原理讲解: 按键检测原...
  • u011727748
  • u011727748
  • 2014年02月28日 17:36
  • 2662

无聊写的无聊东西

#include#include #includeusing namespace std;int main(void) {    int guess,random;   int count=6,fla...
  • ssstry
  • ssstry
  • 2010年10月22日 22:14
  • 87

不无聊的序列(Non-boring sequences,Bzoj4059,CERC2012)

不无聊的序列分治解法
  • XY20130630
  • XY20130630
  • 2016年02月04日 17:09
  • 926

按键控制单个数码管显示

#include //包含头文件,一般情况不需要改动, //头文件包含特殊功能寄存器的定义 unsigned char code dofly_table[10]={0xc0,0xf9,0xa4,0x...
  • xxaichishizi
  • xxaichishizi
  • 2017年03月01日 22:31
  • 477

P1口外接8个LED,通过按键控制,实现左右移动的流水灯

//用P1口外接8个LED,可以做成一个最常见的流水灯。//灯光闪烁的时间间隔,可以使用软件延时,也可以使用定时器来控制。//如果增加一个按键,则还可以控制灯的移动方向。//电路如下://图片链接:h...
  • baidu_33836580
  • baidu_33836580
  • 2016年01月25日 11:39
  • 2593

无聊写了一个小链表

/* * ===================================================================================== * * ...
  • citizen2047
  • citizen2047
  • 2012年04月22日 10:36
  • 214

js实现键盘控制移动div

用户可通过键盘操作实现div的移动
  • qq_35034870
  • qq_35034870
  • 2017年05月08日 16:31
  • 670

Arduino 用两个按键分别控制两个LED灯点亮

实验简介 使用两个按键,分别控制两个LED灯的点亮与关闭。 按一下,亮,再按一下灭,走起...... 先说明一下4脚按键开关的工作原理 示例效果 BOM表 Arduino Uno    *...
  • ling3ye
  • ling3ye
  • 2016年10月26日 15:28
  • 6375
内容举报
返回顶部
收藏助手
不良信息举报
您举报文章:无聊写了一个js的东西,关于按键的控制
举报原因:
原因补充:

(最多只允许输入30个字)