WinJS实用开发技巧(3):仿微博信息流JK快捷键滚动
Twitter、微博、Google Reader等网页版都有一套快捷键,J:快速查看上一条;K:快速查看下一条。
数据基于上一篇博客。增加当前项的样式:宽度为2的白色边框:
.current-comment { border: 2px solid #fff; }
那么我们需要在初始化数据后,将第一条数据设置当前项的样式:
var container = $('#container'); container.append(template('DT_Template', data)); container.children().first().addClass('current-comment');
同时,我们要注册键盘输入事件以便获取键入的是那个值,数值74为J、数值75为K:
document.onkeydown = function (e) { var code = e.code || e.which; switch (code) { case 74: jump(true); break; case 75: jump(false); break; default: } };
jump函数即处理J、K快捷键,传入一个bool类型的参数,表示当前是键入的J还是K。 在jump函数中,我们用到一个jQuery插件,jQuery.scrollIntoView.js。jump函数中,我们获取当前项,如果键入的是J,判断下一条项不为空,则将当前项的样式去掉,下一项添加当前样式,同时将下一项滚动至顶部;键入K也类似。
function jump(isDown) { var className = 'current-comment'; var current = $('.' + className).first(), next = undefined; next = isDown ? current.next() : current.prev(); if (next && next.length) { current.removeClass(className); next.addClass(className); next[0].scrollIntoView(); } };
程序运行效果如下图:
你可以在这里找到本篇的示例代码。
如果您喜欢我的文章,您可以通过支付宝对我进行捐助,您的支持是我最大的动力https://me.alipay.com/alexis
作者:Alexis
出处:http://www.cnblogs.com/alexis/
关于作者:专注于Windows Phone 7、Silverlight、Web前端(jQuery)。
本文版权归作者和博客园共有,欢迎转载,但未经作者同意必须保留此段声明,且在文章页面明显位置给出原文连接,如有问题,可以通过shuifengxuATgmail.com 联系我,非常感谢。
分类:
jQuery篇
标签:
WinJS
, WinJS实用开发技巧
【推荐】国内首个AI IDE,深度理解中文开发场景,立即下载体验Trae
【推荐】编程新体验,更懂你的AI,立即体验豆包MarsCode编程助手
【推荐】抖音旗下AI助手豆包,你的智能百科全书,全免费不限次数
【推荐】轻量又高性能的 SSH 工具 IShell:AI 加持,快人一步
· Linux系列:如何用 C#调用 C方法造成内存泄露
· AI与.NET技术实操系列(二):开始使用ML.NET
· 记一次.NET内存居高不下排查解决与启示
· 探究高空视频全景AR技术的实现原理
· 理解Rust引用及其生命周期标识(上)
· 阿里最新开源QwQ-32B,效果媲美deepseek-r1满血版,部署成本又又又降低了!
· 单线程的Redis速度为什么快?
· 展开说说关于C#中ORM框架的用法!
· SQL Server 2025 AI相关能力初探
· Pantheons:用 TypeScript 打造主流大模型对话的一站式集成库
2010-12-27 ZAM 3D入门教程(6):导入AI和EPS格式的文件
2010-12-27 ZAM 3D入门教程(5):Lathe编辑器
2010-12-27 ZAM 3D入门教程(4):Extrusion编辑器