我想要获得什么? 我想在屏幕上删除一个不可见的div(对于用户而不是css属性),因为我让html和body滚动到带有jquery的div(scrollTop)。现在我想删除使用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);
}
答案 0 :(得分:1)
这很奇怪,但我认为更好的选择是slideUp
div而不是滚动:
function scrollToBegining(){
$('.header').slideUp(750);
}
显然,重命名该功能,因为它不再滚动。
答案 1 :(得分:0)
您可以使用visibility: hidden
隐藏div但保留其空间。此外,有时使用display: none
时必须更改滚动位置。
答案 2 :(得分:0)
visibility: hidden
是你正在寻找的,但我用这种问题的另一个解决方案是向下滚动到你的第二个div,让初始div在一个统一的动画中缩小它的高度直到它为0.这可以防止怪异你正在经历的颤抖滚动问题
答案 3 :(得分:0)
document.querySelector('#header h1').addEventListener('click', closeHeader)
function closeHeader(){
document.querySelector('#header').classList.add("hidden");
}
#header {
height: 300px;
width: 100%;
background: red;
text-align: center;
}
#content {
height: 1000px;
width: 100%;
background: yellow;
text-align: center;
}
.hidden {
display: none !important;
margin: 0 !important;
padding: 0 !important;
}
<div id="header">
<h1>
HEADER
</h1>
</div>
<div id="content">
CONTENT
</div>