当前位置:首页 > 操作系统 > Ios

javascript – 在聚焦输入时在iOS(和所有移动设备)上自定义滚动

问题:

当选择输入时,我希望屏幕滚动,以便聚焦输入正好在屏幕顶部.

我希望这适用于iOS和所有其他移动设备.

这是目前在iOS上发生的事情:

这就是我想要发生的事情……请注意页面滚动到的位置:

我目前正在尝试的代码是:

$('#input').on('focus focusin', function(e) {
    e.preventDefault();
    $('html').animate({
        scrollTop: $('#anchor').offset().top
    }, 300);
})

这段代码在桌面上工作得很好,但是一旦我在iPhone上加载页面,它就会完全停止工作,并且默认的滚动行为会在第一个gif中看到.

解决方法:

所以你只需要它滚动所以输入的顶部成为屏幕的顶部?

我在输入上方添加了2个像素的间隙,这样您就可以看到输入顶部的边框了.

$('#input').on('focus', function(e) {
    e.preventDefault();
    $('html, body').animate({
        scrollTop: $(this).offset().top-2;
    }, 1000);
})

【说明】本文章由站长整理发布,文章内容不代表本站观点,如文中有侵权行为,请与本站客服联系(QQ:254677821)!