javascript - 如何删除 div 但防止滚动位置被更改?

标签 javascript jquery html css

我想实现什么目标? 我想删除屏幕上不再可见的 div(对于用户而言不是 css 属性),因为我让 html 和 body 使用 jquery(scrollTop) 滚动到 div。现在我想删除在我使用 jquery 向下滚动之前可见的 div。

编辑:删除 .header div 后,#begining 应位于页面顶部,并且 .header div 应永久删除。

问题是什么? 在我向下滚动并使用以下代码行删除 div 后:$('.header').css('display','none'); 滚动位置发生变化。

向下滚动并删除 div 的代码。

function scrollToBegining(){
        $('html, body').animate({
            scrollTop: $("#begining").offset().top
        }, 750);

        setTimeout(function(){
            $('.header').css('display','none');
        },750);

    }

可视化问题: GIF of the problem (Watch to understand better)

最佳答案

这很奇怪,但我认为更好的选择是 slideUp div 而不是滚动:

function scrollToBegining(){
    $('.header').slideUp(750);
}

显然,重命名该函数,因为它不再滚动。

关于javascript - 如何删除 div 但防止滚动位置被更改?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/41577206/

相关文章:

html - 为什么这些 div 的大小不正确?

html - 如何将正文电子邮件中的变量设置为运行一次?

javascript - 使用 jQuery 删除空 <li>

javascript - 如果条件在 Bootstrap 开关中不起作用

jQuery - fadeIn()、fadeOut()、animate()、stop() 和闪烁

javascript - 如何在 meteor 中的集合(cursor.observe Changes)中插入新记录时播放音频以通知

javascript - 将div添加到表格列

javascript - 如何清除 mac 上的 phantomjs 缓存?

javascript - 是否普遍支持更改元素的 ID?

javascript - 两个问题 : should I do client-side or server-side in terms of validation? 另外,我如何验证没有文本框为空白/无效...