我有一个 div,一旦用户滚动到父 div 中的某个点,就会添加一个“固定”类。固定类只是将子 div 从绝对定位更改为固定定位。
但是,当用户在添加“固定”类(由js中的“开始变量”指定)时滚动到某个点时会出现问题。用户失去向上或向下滚动几秒钟的能力。更复杂的是,这个问题只发生在使用此代码的六个父 div 中的第一个上。
这是添加“固定”类的 jquery 代码:
var begin = 164;
$("#portfolio_window").scroll(function () {
var y = $(this).scrollTop();
if (y >= begin) {
$('.details').addClass('fixed');
} else {
$('.details').removeClass('fixed');
}
});
如果我将“开始”变量更改为 600,用户将无法从 div 顶部滚动 600 像素。
您可以尝试在http://dev.zachboth.com/重现该问题
这是我能够重现该问题的最简单方法:
- 使用 Safari
- 单击“工作”部分中的“各种徽标”
- 出现“各种徽标”部分后快速向下滚动
- 实际发生问题可能需要多次尝试