Javascript 使用回调滚动切换

Javascript 使用回调滚动切换,javascript,jquery,Javascript,Jquery,我有一个窗体,可以切换到显示/隐藏。我想屏幕滚动到切换内容时,它是可见的。触发切换的按钮位于屏幕底部,切换区域显示在按钮下方 $(document).on('click', "#MyButton", function () { $("#MyToggle").slideToggle("slow", callback); }); function callback() { $('html, body').animate({ scrollTop: $("#MyTog

我有一个窗体,可以切换到显示/隐藏。我想屏幕滚动到切换内容时,它是可见的。触发切换的按钮位于屏幕底部,切换区域显示在按钮下方

$(document).on('click', "#MyButton", function () {
    $("#MyToggle").slideToggle("slow", callback);

});

function callback() {
    $('html, body').animate({
        scrollTop: $("#MyToggle").offset().top
    }, 2000);
};

切换效果很好,但当我第二次切换时,卷轴似乎开始工作。如果我再次隐藏并显示切换,页面将按应有的方式向下滚动。我遗漏了什么?

问题解决了。此操作不起作用的原因是body元素设置了100%的高度。我知道,从我提供的信息来看,这几乎是不可能的。如果其他人也有同样的问题,我会把答案留在这里。

你可以发布一个,增加你得到更好答案的机会。这还不清楚。。。。但我看到的是,当
MyToggle
被隐藏时,页面将滚动到最顶端,因为它的
offset.top
为零。也许这是你的问题?