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