Javascript jQuery滚动页面,使光标停留在;“逻辑中心”;

Javascript jQuery滚动页面,使光标停留在;“逻辑中心”;,javascript,jquery,Javascript,Jquery,我有一个巨大的html表单,有近350个控件,占用户屏幕高度的5-6倍。 用户从页面开始填写每个输入字段,然后继续。 当光标位于屏幕底部附近时,用户必须能够看到下一个输入字段,因此问题在于: 我想避免使用滚动条。 我想设置一些“margines”(比如说每一面200像素) 如果用户单击屏幕边缘附近的控件,此机制也必须工作 我正在寻找jQuery解决方案 玩jQuery.ScrollTo,但不知道如何将我的逻辑嵌入到代码中。类似的东西应该可以 这应该可以 $(文档).ready(函数(){ $

我有一个巨大的html表单,有近350个控件,占用户屏幕高度的5-6倍。 用户从页面开始填写每个输入字段,然后继续。 当光标位于屏幕底部附近时,用户必须能够看到下一个输入字段,因此问题在于: 我想避免使用滚动条。 我想设置一些“margines”(比如说每一面200像素)

如果用户单击屏幕边缘附近的控件,此机制也必须工作

我正在寻找jQuery解决方案


玩jQuery.ScrollTo,但不知道如何将我的逻辑嵌入到代码中。

类似的东西应该可以

这应该可以

$(文档).ready(函数(){
$('input').focus(函数(){
var padding=100;//所需的页面“padding”
var lbound=$(this).offset().top-$(window).height()+padding;
var ubound=$(this).offset().top-padding;
if($(窗口).scrollTop()ubound)
$(窗口).scrollTop(ubound);
});
});
​

这里有一个小问题,光标不在活动窗口中,除非你写了什么,这正是我要找的。稍微调整一下,它的行为应该与水平滚动相同。
$(document).ready(function() {

    $('input').focus(function() {

        if ($(this).offset().top > 100)
            $(window).scrollTop($(this).offset().top + 100);

    });
});
$(document).ready(function() {

    $('input').focus(function() {

        var padding = 100; // Desired page "padding"

        var lbound = $(this).offset().top - $(window).height() + padding;
        var ubound = $(this).offset().top - padding;

        if ($(window).scrollTop() < lbound)
            $(window).scrollTop(lbound);
        else if ($(window).scrollTop() > ubound)
            $(window).scrollTop(ubound);

    });
});
​