实现数字电视机顶盒画面的纯键盘和遥控操作网页
来源:互联网 发布:pop设置ip和端口 编辑:程序博客网 时间:2024/04/30 01:04
今天完成了一个项目,是要做一个广东电视局给的项目,实现一个用键盘或遥控控制的页面,重构工作我就不说了吧,来说说实现键盘控制的问题。
键盘控制想想好像很简单,但是其实这里面要注意的问题也有很多,我的思路是这样的:
1、重构的时候定义一个active类,用来给当前选中的元素添加active样式(对了,由于项目需求,我在做的时候把类似a,input这样的自带焦点的元素都
换成了div和span来替代,因为机顶盒它自身会给这些元素带一个active样式,一个红框,但是太丑了,所以就自己定制化)
2、把重构的页面划分为若干个区域,在JS中为每个区域创建一个数组,这里我用btn*(*表示阿拉伯数字)来表示,这样,我们就得到了若干个数组,再用
index来表示每个数组中的元素下标,我们就可以很方便地访问每个元素
3、非常关键的一个地方,需要创建一个函数,来指导你当前的这个数组名是指哪个数组,所以就用到了一下这个代码:
var main=function(e){key=e.keyCode;keyControl(key);if(currBtns==1){dom=btn1[index];}else if(currBtns==2){dom=btn2[index];}else if(currBtns==3){dom=btn3[index];}else if(currBtns==4){dom=btn4[index];}else if(currBtns==5){dom=btn5[index];}else if(currBtns==5){dom=btn5[index];}else if(currBtns==6){dom=btn6[index];}else if(currBtns==7){dom=btn7[index];}else if(currBtns==8){dom=btn8[index];}else if(currBtns==9){dom=btn9[index];}$(predom).removeClass("active");$(predom).removeClass("btnActive");$(predom).removeClass("playing");predom=dom;if(dom==btn8[index]){$(dom).addClass("btnActive");}else if(dom==btn5[index]||dom==btn6[index]){$(dom).addClass("playing");}else{$(dom).addClass("active");}}并且要让它在一开始的时候就绑定到键盘时间上:
document.body.onkeydown=main;
var keyControl=function(key){if(key==keyCode.up){if(currBtns==1){if(index>0)index--;}else if(currBtns==2){if(index>0)--index;else{currBtns=1;index=btn1.length-1;}}else if(currBtns==4){currBtns=3;index=0;}else if(currBtns==5){if(index>0)index--;}else if(currBtns==6){if(index>0)index--;else{currBtns=5;index=0;}}else if(currBtns==7){if(index>0)index--;}else if(currBtns==8){if(index==0){currBtns=2;index=0;}else if(index==1){currBtns=4;index=0;}else if(index==2){currBtns=6;index=0}else if(index==3){currBtns=7index=0;}}
效果图:
如有疑问,欢迎留言
0 0
- 实现数字电视机顶盒画面的纯键盘和遥控操作网页
- 机顶盒和数字电视的区别
- 数字电视的机顶盒通讯功能实现
- 数字电视机顶盒的工作原理
- 数字电视机顶盒的基本知识介绍
- 数字电视机顶盒的接收过程
- 有线数字电视机顶盒的基本原理
- 数字电视机顶盒
- 基于linux的数字电视机顶盒几种升级方式的设计与实现
- Android手机遥控Android机顶盒的Demo
- android手机遥控Android机顶盒的Demo
- Android手机遥控Android机顶盒的Demo
- 数字电视 机顶盒原理
- 【认证】【马来西亚】马来西亚数字电视和机顶盒认证技术规范
- 文章终于发表了!基于Hi3110的数字电视机顶盒关键技术
- 【转】关于ATSC制数字电视机顶盒的…
- 实现鼠标和键盘操作的类
- 网络激活机顶盒 数字电视新生活
- ffmpeg, demux, avformt_find_stream_info,解决卡住的问题
- 研究生应该学什么?
- PowerPC core寄存器和汇编操作基础知识
- 最全的display_cursor执行计划查看使用方法
- HDOJ 2059 龟兔赛跑(DP)
- 实现数字电视机顶盒画面的纯键盘和遥控操作网页
- 监听GPS开关切换(PROVIDERS_CHANGED_ACTION)
- 【leetcode Java】Length of Last Word
- 基于HTML Canvas实现“指纹识别”技术
- UVa 220
- PowerPC汇编指令集
- Nginx的安装和使用
- hadoop安装
- 经历过的一款游戏的失败历程