我无法修复与页面向下滚动并停在特定高度的脚本。就在它到达该点之前,它需要再次处于绝对位置,它会消失一会儿,然后就会出现。
以下是the code的一个例子:
$(document).scroll(function () {
var y = $(this).scrollTop();
if (y > 280 && y < 1600) {
$('#model').css("position","fixed");
$('#icons').css("position","fixed");
$('#icons').css("bottom",0);
} else if (y >= 1601) {
$('#model').css("position","absolute");
$('#model').css("top",1600);
$('#icons').css("position","absolute");
$('#icons').css("top",1600);
} else {
$('#model').removeAttr( 'style' );
$('#icons').removeAttr( 'style' );
$('#icons').removeAttr( 'style' );
}
});
感谢任何帮助!
答案 0 :(得分:1)
您所指的小故障可能是由以下两种情况之一引起的:
280
&amp;之间的scrollTop范围。 1599
(< 1600
),以及>= 1601
。这会在scrollTop位置1600
本身留下空白区域。#model
div的顶部未设置回原始状态(0
),并且它以某种方式徘徊到它上面。我认为是容器边界。因此,代码中的以下更改应解决此问题:
if (y > 280 && y < 1600) {
$('#model').css("position","fixed");
$('#model').css('top', 0); // add this rule
$('#icons').css("position","fixed");
$('#icons').css("bottom",0);
} else if (y >= 1600) { // change the condition to include range greater than or equal to 1600
$('#model').css("position","absolute");
$('#model').css("top",1600);
$('#icons').css("position","absolute");
$('#icons').css("top",1600);