首页 > 试题广场 >

移动控制

[编程题]移动控制
  • 热度指数:1870 时间限制:C/C++ 3秒,其他语言6秒 空间限制:C/C++ 256M,其他语言512M
  • 算法知识视频讲解
界面中存在id=jsContainer的节点A,系统会随机生成id为jsLayout的 m行 x n列 表格(m >= 1, n >= 1),并随机选中一个td节点,请按照如下需求实现bind函数
1、bind 函数为document绑定keydown事件,当系统触发上(键值38)下(键值40)左(键值37)右(键值39)按键时,请找到当前选中的td节点,并根据当前指令切换高亮节点,具体效果参考以下图片
2、在第一列往左移动则到达最后一列;在最后一列往右移动则到达第一列;在第一行往上移动则到达最后一行;在最后一行往下移动则到达第一行;
3、请不要手动调用bind函数
4、当前界面为系统在节点A中生成 9 * 9 表格并随机选中一个td节点后的效果
5、请不要手动修改html和css,请不要修改js中的事件绑定方式
6、不要使用第三方插件
头像 小白1d
发表于 2021-07-21 22:25:23
function bind() { const con = document.getElementById('jsContainer') const rows = con.querySelectorAll('tr') const cols = rows[0].querySel 展开全文
头像 摩罗星
发表于 2021-06-27 18:02:27
function bind() { document.onkeydown = event => { if (!event) return; var code = event.keyCode || ''; 展开全文
头像 YaoYaoYaooo
发表于 2022-04-28 11:16:51
function bind() { document.onkeydown = event => { if (!event) return; var code = event.keyCode || ''; if (!{'37': 1, '38': 1, '39': 1, 展开全文
头像 前端消防圆
发表于 2023-07-17 11:39:48
思路:首先找到当前current方格在网格中对应的横纵坐标x和y,再根据按键移动方向控制x和y的变化,尤其注意边界条件,即上下和左右的边界调整。其中找到横纵坐标x和y,使用的方法是,首先找到所有tr,并遍历tr是否包含current,如果是则锁定在哪一行即纵坐标,接着再找到该tr内的所有td,并遍历 展开全文
头像 handsome--xiaoJie
发表于 2023-03-16 17:25:21
function bind() { document.onkeydown = event => { if (!event) return; var code = event.keyCode || ''; 展开全文
头像 littlecat7
发表于 2023-01-12 20:42:24
生成table.id == 'jsLayout'表格,m个tr,每个tr n个td(m>=1,n>=1),并随机选中一个td节点bind函数:    1.按下 方向键,找出td节点,并切换td节点    2.在第一列往左移动则到达最后一列;在最后一 展开全文
头像 Sonder2
发表于 2023-09-24 18:18:23
代码如下: function bind() { document.onkeydown = event => { if (!event) return; var code = event.keyCode || ''; 展开全文
头像 攀登者1号
发表于 2021-07-09 16:11:40
function bind(){ document.onkeydown = function(event){ if (!event) return; var code = event.keyCode || ''; 展开全文
头像 暖茶
发表于 2023-01-12 16:32:13
function bind() { let trList = document.querySelectorAll("tr"); Array.from(trList).forEach((tr, trIdx) => { Array.from(tr 展开全文
头像 啊阿泽
发表于 2022-04-03 18:44:39
简洁、带注释的js代码 function bind() { // 以下变量可以复用,因此定义在外部,形成闭包。 // step1. 获取表格 const map = document.querySelector('table tbody'); // step2. 寻找 展开全文