我在网站左侧有一个“固定”菜单栏,我想在用户滚动时跟随滚动条向下滚动。到目前为止,我已经尝试了两种方法,一种是 css,一种是 jquery:
1)我的第一次尝试是使用 css 样式修复:
#leftframe {
position:fixed;
width: 200;
}
通常,这在垂直滚动时效果很好。这个解决方案的问题是,当窗口不是很宽,并且用户试图滚动时,它会直接覆盖页面内容。
2)经过一些研究,我发现有一种 jquery 方法可以让您在一个方向上固定一个元素,如此处堆栈溢出所述:CSS:fixed position on x-axis but not y?
使用那里概述的方法,我编写了这个不错的小函数来为我做这件事:
function float_vertical_scroll(id) {
$(window).scroll(function(){
$(id).css({
'top': $(this).scrollTop() //Use it later
});
});
}
只是,现在的问题是,我已经在 Chrome 和 Safari 中尝试过,并且在垂直滚动期间都显示菜单栏明显闪烁。菜单以非常“断断续续”的方式移动,css 解决方案将其平滑地滑下页面。
有谁知道为什么 jquery 解决方案如此不稳定,如果有什么可以做的吗?有没有第三种解决方案可以让我“两全其美”?
感谢大家。