我在我的网站上集成了键盘导航。当访客按下" up"键或"底部"页面上的键盘自动滚动不同的量规。
问题是这段代码只与jQuery 1.7.2(及更低版本)兼容,而且我还需要使用更新版本实现的其他代码。
我需要修改此代码以使其与最新版本的jQuery兼容吗?
按键盘上的向上和向下箭头:http://pepitodanger.free.fr/Maquette/
提前谢谢。
function scroll(direction) {
var scroll, i,
positions = [],
here = $(window).scrollTop(),
collection = $('.data-scroll');
collection.each(function() {
positions.push(parseInt($(this).offset()['top'],10));
});
for(i = 0; i < positions.length; i++) {
if (direction == 'next' && positions[i] > here) {
scroll = collection.get(i);
break;
}
if (direction == 'prev' && i > 0 && positions[i] >= here) {
scroll = collection.get(i-1);
break;
}
}
if (scroll) {
$.scrollTo(scroll, {
duration: 700
});
}
return false;
}
$(function() {
$("#next,#prev").click(function() {
return scroll($(this).attr('id'));
});
});
$(window).keydown (function(event) {
if (event.altKey) {
switch (event.which) {
case 78: // Alt-N = next
case 110: // Alt-n = next
scroll ('next');
break;
case 80: // Alt-P = prev
case 112: // Alt-p = prev
scroll ('prev');
break;
}
}
else {
switch (event.keyCode) {
case 37: // key is left
case 38: // key is up
scroll ('prev');
break;
case 39: // key is right
case 40: // key is down
scroll ('next');
break;
}
}
});