今天完成了乙個專案,是要做乙個廣東電視局給的專案,實現乙個用鍵盤或遙控控制的頁面,重構工作我就不說了吧,來說說實現鍵盤控制的問題。
鍵盤控制想想好像很簡單,但是其實這裡面要注意的問題也有很多,我的思路是這樣的:
1、重構的時候定義乙個active類,用來給當前選中的元素新增active樣式(對了,由於專案需求,我在做的時候把類似a,input這樣的自帶焦點的元素都
換成了div和span來替代,因為機頂盒它自身會給這些元素帶乙個active樣式,乙個紅框,但是太醜了,所以就自己定製化)
2、把重構的頁面劃分為若干個區域,在js中為每個區域建立乙個陣列,這裡我用btn*(*表示阿拉伯數字)來表示,這樣,我們就得到了若干個陣列,再用
index來表示每個陣列中的元素下標,我們就可以很方便地訪問每個元素
3、非常關鍵的乙個地方,需要建立乙個函式,來指導你當前的這個陣列名是指哪個陣列,所以就用到了一下這個**:
[html]view plain
copy
var main=function(e)else if(currbtns==2)else if(currbtns==3)else if(currbtns==4)else if(currbtns==5)else if(currbtns==5)else if(currbtns==6)else if(currbtns==7)else if(currbtns==8)else if(currbtns==9)
$(predom).removeclass("active");
$(predom).removeclass("btnactive");
$(predom).removeclass("playing");
predom=dom;
if(dom==btn8[index])
else if(dom==btn5[index]||dom==btn6[index])
else
} 並且要讓它在一開始的時候就繫結到鍵盤時間上:
[html]view plain
copy
document.body.onkeydown=main;
最後通過wasd和enter的鍵盤碼來訪問每個元素,這裡因為是商業專案,所以不能透露太多,給出「up」操作時的**以供參考:
[html]view plain
copy
var keycontrol=function(key)
else if(currbtns==2)
} else if(currbtns==4)
else if(currbtns==5)
else if(currbtns==6)
} else if(currbtns==7)
else if(currbtns==8)
else if(index==1)
else if(index==2)
else if(index==3)
} 效果圖:
常見電視機頂盒故障
a 檢查直播光纖光值是否在正常範圍內,無源光接機是否損壞 a 這是由於ca授權指令延遲產生的,正常在開通後5 10分鐘指令傳送完畢,能正常收看,如超出正常時間,聯絡大廳重新整理 a 檢查無源光接機是否損壞,機頂盒 卡是否損壞,是否離wifi過近導致的干擾 a 排障順序 更換無源光接機 更換機頂盒 更...
常見電視機頂盒故障
a 檢查直播光纖光值是否在正常範圍內,無源光接機是否損壞 a 這是由於ca授權指令延遲產生的,正常在開通後5 10分鐘指令傳送完畢,能正常收看,如超出正常時間,聯絡大廳重新整理 a 檢查無源光接機是否損壞,機頂盒 卡是否損壞,是否離wifi過近導致的干擾 a 排障順序 更換無源光接機 更換機頂盒 更...
常見電視機頂盒故障
a 檢查直播光纖光值是否在正常範圍內,無源光接機是否損壞 a 這是由於ca授權指令延遲產生的,正常在開通後5 10分鐘指令傳送完畢,能正常收看,如超出正常時間,聯絡大廳重新整理 a 檢查無源光接機是否損壞,機頂盒 卡是否損壞,是否離wifi過近導致的干擾 a 排障順序 更換無源光接機 更換機頂盒 更...