【问题标题】:Toggle with callback scroll使用回调滚动切换
【发布时间】:2017-06-13 11:23:00
【问题描述】:

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

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

});

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

切换效果很好,但是当我第二次切换时,滚动似乎开始工作了。如果我再次隐藏并显示切换,则页面会向下滚动。我错过了什么?

【问题讨论】:

  • 您可以发Minimal, Complete and Verifiable example,增加获得更好答案的机会。
  • 不清楚....但是我看到的是当MyToggle 被隐藏时页面将滚动到最顶部,因为它的offset.top 为零。也许这是你的问题?

标签: javascript jquery


【解决方案1】:

问题解决了。这不起作用的原因是因为 body 元素设置了 100% 的高度。我知道这几乎不可能从我提供的信息中弄清楚。如果其他人遇到同样的问题,我会在这里留下答案。

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2010-10-17
    • 1970-01-01
    相关资源
    最近更新 更多