0

就像在 facebook 中一样,我们可以使用“J”和“K”键来浏览帖子,我想要一个 jQuery 插件来为我的网站做同样的事情。我的逻辑是,我将帖子的标题命名为 1、2、3、4...,然后按“J”或“K”键,它会自动滚动到相应的命名标题。我无法编码。我需要一个插件。我试图用谷歌搜索它,但无法为搜索输入一个词。提前感谢任何帮助。谢谢!

4

3 回答 3

1

如果你真的想要一些扩展,最接近你正在做的事情听起来像this或者this

编辑:或者可能是PageScroller

但是,如果您不介意只做一点编码,JQuery 已经内置了您需要的大部分内容,您可以编写自己的扩展。就像是:

$(document).on('keypress', function(ev)
    {
        if (ev.which == '106')
        {
            $('html,body').scrollTop($("#nextPost").offset().top);
        } else if (ev.which == '107')
        {
            $('html,body').scrollTop($("#prevPost").offset().top);
        }
    });

较短的版本:

$(document).on('keypress',function(e)
{
    id = (e.which == '106') ? getNextPost() :
         (e.which == '107') ? getPrevPost() : undefined;
    if (id) $('html,body').scrollTop($(id).offset().top);
}

您可以将#nextPost 和#prevPost 替换为跟踪哪个帖子处于“活动状态”的函数。我经常通过定义微小的实用程序扩展来启动我的 js 文件,例如:

$.extend({
    postRegister : {
        registry : '#defaultInitiallyActivePost',
        next : function() {
            this.registry = $(this.registry).next('.post').attr('id');
            return this.registry;
        },
        prev : function() {
            this.registry = $(this.registry).prev('.post').attr('id');
            return this.registry;
        }
    }
});

编辑:如果您希望页面检测用户何时手动滚动到不同的帖子,您可以添加一个检查滚动条当前位置的功能,循环浏览页面上的帖子元素,检查它们的偏移量以确定哪个帖子正在查看。

于 2013-06-18T14:29:41.540 回答
0

不知道你在追求什么,也许我的keynavigator 插件可以帮助你。您能否向我们展示一些代码或您所追求的示例?

于 2013-06-19T22:32:29.663 回答
0

好吧,而不是数字,我会使用某些 DOM 元素作为跳跃点。除此之外,它应该易于实施。监听键盘事件并使用 scrollTo() 和 position() 来发挥作用。

看看http://firedev.com/jquery.keynav/。我猜你可以改变触发键。

或谷歌https://www.google.com/search?q=jquery+keyboard+navigation+plugin&ie=utf-8&oe=utf-8

于 2013-06-18T14:05:32.450 回答