Javascript 当文档高度更改/设置动画时,保持文档滚动到底部

Javascript 当文档高度更改/设置动画时,保持文档滚动到底部,javascript,jquery,html,css,Javascript,Jquery,Html,Css,我正在处理的页面的页脚(或部分页脚)是可折叠的。我还为该元素的折叠和扩展设置了动画。页脚不是固定的(我也不希望它是固定的),但我更希望在页脚展开时视图保持在页面底部。我试过用几种方法处理这个问题,但在所有情况下,行为都是一样的。折叠页脚时,文档高度在动画期间变小,页脚仍固定在屏幕底部。展开页脚时,视口的位置不变,文档高度增加,页脚动画发生在折叠下方 我已经使用javascript和CSS3处理了这个动画。行为是一样的。我还尝试绝对定位页脚,同时调整页脚上方内容高度的动画。。。同样的行为 最后,我

我正在处理的页面的页脚(或部分页脚)是可折叠的。我还为该元素的折叠和扩展设置了动画。页脚不是固定的(我也不希望它是固定的),但我更希望在页脚展开时视图保持在页面底部。我试过用几种方法处理这个问题,但在所有情况下,行为都是一样的。折叠页脚时,文档高度在动画期间变小,页脚仍固定在屏幕底部。展开页脚时,视口的位置不变,文档高度增加,页脚动画发生在折叠下方

我已经使用javascript和CSS3处理了这个动画。行为是一样的。我还尝试绝对定位页脚,同时调整页脚上方内容高度的动画。。。同样的行为

最后,我尝试了一些javascript技巧,在其他动画正在进行时对window.scrollTo进行动画制作。这不起作用令人困惑。这里有一个基本的例子

collapse: function(container,collapsed) {
    var maxHeight = 250,
        steps = 50,
        params = this.animParams(maxHeight,steps,collapsed);

    for (i = 0; i < params.length; i++) {
        this.animateCollapse(container,params,i);
    }
},

animateCollapse: function(container,params,i) {
    setTimeout(function() {
        container.css('height',params[i]);
        window.scrollTo(0,100000);
    },10);
},

animParams: function(maxHeight, steps, collapsed) {
    var arr = [];

    for (i = 0; i <= steps; i++) {
        var multiplier = (steps - i) / steps;

        arr.push(maxHeight * multiplier);
    }

    if (!collapsed) {
        arr = arr.reverse();
    }

    return arr;
},
折叠:函数(容器,折叠){
var maxHeight=250,
步骤=50,
params=this.animParams(最大高度、步长、折叠);
对于(i=0;i对于(i=0;我已尝试过在每次增加动画中页脚高度时将滚动位置设置为最大值?更多显示如何实现动画的代码会很有帮助。您的示例代码没有意义。我未定义,window.scrollTo将在1秒内运行100次。@jkgeyti-抱歉-我放弃了该考试ple输入太快。该示例已修复。@Mickylaaad--我更喜欢在此处使用CSS3高度动画。我还使用了jQuery.animate()同样的效果。对于你的问题,让我尝试手动设置页脚高度的动画…我会报告它的行为。@Mickylaaad-我已经更新了我的原始帖子,以显示手动动画的更详细示例。window.scrollTo(0100000)在动画的每一步都会触发,但不会影响滚动。如果在该点调用document.height(在支持的浏览器中)或$(document).height(),则始终返回进入循环之前文档的高度。