Jquery 方向键导航

标签 jquery html css

我是 jquery 编程的新手。我想要做的是让页面向下滚动到下一个“容器”类,每次我按下向下箭头,然后用向上箭头反转。我尝试了很多谷歌搜索,但我似乎找不到可管理的解决方案。

这是我的 HTML 代码:

<div class="containers">
    <div class="boxed" class="container">
        <p class="overskrift1">Internet Kriminalitet</p>
        <div id="demo"></div>
    </div>
    <div class="boxed2" class="container">

    </div>
</div>

我希望箭头键在不同的容器之间导航。

编辑

这可能是迄今为止我拥有的最好的 jquery 代码:

$('body').on('keypress'), (function () {
var ele = $(this).closest("section").find(".container");
$("body").animate({
scrollTop: $(ele).offset().top
                }, 100);
return false;

});

谢谢

  • 莫腾

最佳答案

你要做的是:

  • 在监听体上放置一个事件keypress

  • 切换键以获取按下的箭头。 (37、38、39、40 => 左、上、右下)。

  • 当按下该键时,您必须将页面 scrollTop 设置为动画到元素顶部。

类似于:

var containers = $('.container');
var currentContainer = containers.get(0);
$('body').on('keydown', function (e) {
    e.preventDefault();
    console.log(e.which);
    switch (e.which) {
        case 37:
            // left
            break;

        case 38:
            // up
            currentContainer = currentContainer.prev();
            break;

        case 39:
            // right
            break;

        case 40:
            // down
            currentContainer = currentContainer.next();
            break;

        default:
            return; // exit this handler for other keys
    }
    $('body').animate({
        scrollTop: currentContainer.getPosition().top + 'px'
    });

});

http://jsfiddle.net/9qhgsysg/1/

关于Jquery 方向键导航,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/27326991/

相关文章:

javascript - 如何使用 Angularjs 编辑输入字段?

javascript - Canvas - 适合慢速网络的游戏加载

HTML 表格不起作用

css - 使用 CSS 修复自定义字体行高

javascript - Jquery IF 语句和 .is

javascript - 单击浏览器后退按钮关闭 $mdDialog - AngularJS

javascript - 如果 slick-carousel 具有可变宽度和动态容器,则为空白

javascript - 尝试动态更改导航栏中的 "active"类 - Node.js/Express/Handlebars

html - 字体不在 wordpress 网站上呈现

javascript - Jquery onBlur 将左边的零填充为数字