使用jQuery ui可调整大小时的平滑滚动页面

时间:2016-07-27 10:05:18

标签: javascript jquery jquery-ui jquery-ui-resizable

所以我想知道的是,当我通过浏览器底部调整div时,如何顺畅地滚动页面。

到目前为止,我设置的是当你调整div的大小并且它到达浏览器的最后30px时,它开始向下滚动页面。这一部分有效,但这样做时会很生涩。

我的代码:

// $maxHeight is set above this, it just takes all the elements within the div and and get's the total height and set that as maxHeight
$('.notifications-drop-down').resizable({
    maxHeight: $maxHeight,
    minHeight: 400,
    handles: {
        's': '.ui-resizable-s'
    },
    resize: function(event, ui){
        if((ui.position.top + ui.size.height) > ($(window).scrollTop() + $(window).height() - 30)){
            $(window).scrollTop($(window).scrollTop()+10);
        }
    }
});

我试图解决这个问题: 将动画功能添加到scrollTop以使其更流畅

$('html,body').animate({scrollTop: $(window).scrollTop()+30}, 200);

但这并不顺利。我已经改变了动画持续时间,但仍然不顺畅。有谁知道我能做什么让它变得顺畅?

我注意到的是,当页面向下滚动时,它不会识别div位于底部30px中,因此它不会重新计算它是否应向下滚动更多(您需要在调整div时调整光标以使其工作),我确实尝试添加相同的代码以向下滚动到可调整大小的停止功能,但这也无济于事。

感谢您的时间。

0 个答案:

没有答案