使用jquery导航键时滚动?

时间:2015-09-20 09:56:47

标签: javascript jquery html html5 dom

我正在使用以下jquery脚本来导航带有键的列表: http://firedev.com/jquery.keynav/

由于列表有时很长,因此很长一段时间。如果我向下导航,那么它就会离开屏幕。

什么是一个很好的解决方案,以便浏览器一旦关闭屏幕或其他解决方案滚动?如果有人可以帮助我举例,我将不胜感激。谢谢!

1 个答案:

答案 0 :(得分:0)

jquery.keynav中的

找到setCurrent函数

function setCurrent(i,j) {
            if (i<0) i=(matrix.length-1);
            if (i>=matrix.length) i=0;
            if (j<0) j=(matrix[i].length-1);
            if (j>=matrix[i].length) j=0;
            current.removeClass('selected');
            current = $(matrix[i][j]);
            current.addClass('selected');
            x=i;
            y=j;
if(!checkVisible(current))
                $('html, body').animate({
                       scrollTop: current.offset().top
                }, 1000);
            }


function checkVisible( elm, eval ) {
    eval = eval || "visible";
    var vpH = $(window).height(), // Viewport Height
        st = $(window).scrollTop(), // Scroll Top
        y = $(elm).offset().top,
        elementHeight = $(elm).height();

    if (eval == "visible") return ((y < (vpH + st)) && (y > (st - elementHeight)));
    if (eval == "above") return ((y < (vpH + st)));
}

它将滚动到元素