题解 | #移动控制#

移动控制

http://www.nowcoder.com/practice/84af7932f53f4bbeaa1fa079a138bb35

function bind(){
document.onkeydown = function(event){
if (!event) return;
var code = event.keyCode || '';
if (!{'37': 1, '38': 1, '39': 1, '40': 1}[code]) return;
event.preventDefault && event.preventDefault();
var c = document.querySelector('.current');
var index = '';
Array.prototype.forEach.call(c.parentElement.children,function(item,i){
if(item.className == 'current'){
index = i;
}
});
c.className = '';
switch(code){
case 37:
if(c.previousElementSibling){
c.previousElementSibling.className = 'current';
break;
}
else{
c.parentElement.children[c.parentElement.children.length - 1].className = 'current';
break;
}
case 39:
if(c.nextElementSibling){
c.nextElementSibling.className = 'current';
break;
}
else{
c.parentElement.children[0].className = 'current';
break;
}
case 38:
if(c.parentElement.previousElementSibling){
c.parentElement.previousElementSibling.children[index].className = 'current';
break;
}
else{
c.parentElement.parentElement.children[c.parentElement.parentElement.children.length - 1].children[index].className = 'current';
break;
}
case 40:{
if(c.parentElement.nextElementSibling){
c.parentElement.nextElementSibling.children[index].className = 'current';
break;
}
else{
c.parentElement.parentElement.children[0].children[index].className = 'current';
break;
}
}
}
}
}
主考节点应用。

全部评论

相关推荐

ohs的小木屋:比不少实习待遇高了
点赞 评论 收藏
分享
06-20 17:42
东华大学 Java
凉风落木楚山秋:要是在2015,你这简历还可以月入十万,可惜现在是2025,已经跟不上版本了
我的简历长这样
点赞 评论 收藏
分享
lllllkin:感觉可以精简到一页简历,有些排版感觉不是必须的。 时间线越早的,你自己越熟悉的放前面。描述可以更精简些,一些问题解决感觉可以不用写具体技术栈,卖个关子,等面试官问。
点赞 评论 收藏
分享
评论
点赞
收藏
分享

创作者周榜

更多
牛客网
牛客网在线编程
牛客网题解
牛客企业服务