【发布时间】:2018-11-13 09:03:10
【问题描述】:
我几乎是编码方面的新手,我目前正在一家公司工作作为我学习的一部分。 他们给了我一个 html 和 css 文件来编辑,我必须根据滚动的距离使图像出现和消失。在从顶部到达具体距离后,我设法让班级消失了,但它发生了奇怪的跳跃。代码不是我的,我只是编辑了一些东西,如果缺少任何信息,请告诉我,以便我添加。
HTML 是这样的:
jQuery("document").ready(function($){
var nav = $('#feedback_form');
$(window).scroll(function () {
if ($(this).scrollTop() > 445 && $(this).scrollTop() < 1289 ) {
nav.addClass("f-nav");
} else {
nav.removeClass("f-nav");
}
});
它在 css 中所指的“f-nav”类是这个:
.f-nav {
z-index: 9998!important;
position: fixed!important;
top: 0;
-webkit-animation: fadeIn ease-in 1; /* Safari and Chrome */
-moz-animation: fadeIn ease-in 1; /* Firefox */
-ms-animation: fadeIn ease-in 1; /* Internet Explorer */
-o-animation: fadeIn ease-in 1; /* Opera */
animation: fadeIn ease-in 1;
-webkit-animation-duration:2s;
-moz-animation-duration:2s;
-ms-animation-duration:2s;
-o-animation-duration:2s;
animation-duration:2s;
}
addClass 也会发生跳跃,但不太明显。 就像我说的那样,我对此很陌生,所以我不知道问题可能出在哪里。
这是一个解决问题的方法:
【问题讨论】:
-
使用
position:sticky -
我将位置从固定更改为粘性,但是当类被删除时跳转仍然存在。
-
可以先提供demo重现问题。
-
我不能分享太多的 HTML 或 CSS,因为它来自我的公司,而不是我的。这就是为什么我想知道是否有人可以通过我共享的数据找到问题的原因或解决方案。此外,我对制作演示的了解还不够,因为我不确定哪些代码行重要,哪些不重要。
-
我也刚刚意识到,在它们出现在卷轴上之前,你看不到这些面孔,而使用我的代码,这些面孔就在那里,一旦滚下它们,它们就会跟随滚动。我的代码中唯一的问题是它由于某种原因而产生的小跳跃。
标签: javascript jquery html scrolltop