使代码与最新版本的jQuery兼容

时间:2014-03-18 23:51:24

标签: jquery

我在我的网站上集成了键盘导航。当访客按下" 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;
        }
    }
});

1 个答案:

答案 0 :(得分:1)

问题是你的scrollTo插件已经过时了。从这里获取最新版本:https://github.com/flesler/jquery.scrollTo