启用箭头键浏览垂直页面

比耶特·爱德华森

我有一个网站,主要由带有照片的垂直页面组成。我希望访问者能够使用键盘上的箭头键(上/下,左和右)上下移动。

在溢出时尝试了在此处共享的代码,但只能使它与键盘上的向上箭头一起向上工作。当我按下其他箭头时,什么也没有发生。我已经在MacBook Pro的OS X中的Chrome和Firefox中进行了测试。查看我的测试页

我可以做一些代码修改来使其工作吗?

这是我尝试的代码:

var handler = function(e) {
e = e || window.event;
var k = e.keyCode || e.which;
switch(k) {
  case 37:
    document.body.scrollLeft -= 1000;
    document.documentElement.scrollLeft -= 1000;
    break;
  case 38:
    document.body.scrollTop-= 1000;
    document.documentElement.scrollTop-= 1000;
    break;
  case 39:
    document.body.scrollLeft += 1000;
    document.documentElement.scrollLeft += 1000;
    break;
  case 40:
    document.body.scrollLeft += 1000;
    document.documentElement.scrollLeft += 1000;
    break;
  default: return true;
  }
  if( e.preventDefault) e.preventDefault();
  return false;
};
if( window.attachEvent) window.addEvent("onkeydown",handler,false);
else window.addEventListener("keydown",handler,false);
最高

如果页面不比屏幕宽,则左右滚动将不起作用。您已将scrollLeft分配给键40(向下),因此不会发生任何事情。下面的代码已得到纠正,并且可以上下运行:

var handler = function(e) {
e = e || window.event;
var k = e.keyCode || e.which;
switch(k) {
  case 37:
    console.log("37 pressed");
    document.body.scrollLeft -= 1000;
    document.documentElement.scrollLeft -= 1000;
    break;
  case 38:
    console.log("38 pressed");
    document.body.scrollTop-= 1000;
    document.documentElement.scrollTop-= 1000;
    break;
  case 39:
    console.log("39 pressed");

    document.body.scrollLeft += 1000;
    document.documentElement.scrollLeft += 1000;
    break;
  case 40:
    console.log("40 pressed");
    document.body.scrollTop += 1000;
    document.documentElement.scrollTop += 1000;
    break;
  default: return true;
}
if( e.preventDefault) e.preventDefault();
return false;
}; 
if( window.attachEvent) window.addEvent("onkeydown",handler,false);
else window.addEventListener("keydown",handler,false);

本文收集自互联网,转载请注明来源。

如有侵权,请联系[email protected] 删除。

编辑于
0

我来说两句

0条评论
登录后参与评论

相关文章

来自分类Dev

如何启用使用箭头键滚动?

来自分类Dev

使用箭头键浏览输入

来自分类Dev

在输入提示中启用箭头键导航

来自分类常见问题

使用JavaFX中的箭头键浏览GridPane中的TextField

来自分类Dev

使用箭头键或控制器浏览MainMenu

来自分类Dev

使用箭头键浏览弹出菜单时抛出 ClassCastException

来自分类Dev

箭头键的自动热键

来自分类Dev

如何禁用箭头键?

来自分类Dev

使用箭头键导航

来自分类Dev

产生箭头键的输出

来自分类Dev

如何在msysgit bash使用的vim上启用箭头键

来自分类Dev

我可以在Sublime或Atom中使用箭头键获得Notepad ++样式的垂直选择吗?

来自分类Dev

jQuery 2.1 | 使用箭头键浏览列表中的非连续链接

来自分类Dev

键盘上下箭头键不会从浏览器地址栏响应

来自分类Dev

如何使用箭头键(上/下)浏览Java菜单项?

来自分类Dev

使用箭头键浏览带有输入文本的两个HTML表

来自分类Dev

Ubuntu 桌面应用程序,允许使用箭头键浏览文件

来自分类Dev

防止使用箭头键进行页面滚动,但仍允许光标在文本字段内移动?

来自分类Dev

将箭头键导航添加到页面中具有变量的站点

来自分类Dev

如何将轮播滚动箭头键放在页面中间

来自分类Dev

使用箭头键在表格中导航

来自分类Dev

根据箭头键移动乌龟

来自分类Dev

使用箭头键更改背景颜色

来自分类Dev

无法使用箭头键移动JLabel

来自分类Dev

带箭头键的QML移动项目

来自分类Dev

您如何阅读箭头键?

来自分类Dev

使用fprintf发送箭头键

来自分类Dev

PyObjC中的箭头键事件处理

来自分类Dev

禁用matplotlib的默认箭头键绑定