Javascript 固定顶栏,与页面其余部分水平滚动

Javascript 固定顶栏,与页面其余部分水平滚动,javascript,jquery,css,Javascript,Jquery,Css,我想实现一个固定顶栏,但同时它需要与页面的其余部分水平滚动;这不是一个反应迅速的网站 单独使用CSS,position:fixed将不会与页面的其余部分一起滚动。因此有两种方法 1) 不要使用position fixed,而是将容器留在文档流中,而是使用javascript将其垂直放置在窗口顶部。问题是,脚本在浏览器上的速度不够快,每次垂直滚动时,在顶部栏移动覆盖它之前,内容会短暂闪烁 2) 保持位置固定,并使用javascript根据用户的左/右滚动量水平定位。问题是,手机上有一个滚动动画(一

我想实现一个固定顶栏,但同时它需要与页面的其余部分水平滚动;这不是一个反应迅速的网站

单独使用CSS,position:fixed将不会与页面的其余部分一起滚动。因此有两种方法

1) 不要使用position fixed,而是将容器留在文档流中,而是使用javascript将其垂直放置在窗口顶部。问题是,脚本在浏览器上的速度不够快,每次垂直滚动时,在顶部栏移动覆盖它之前,内容会短暂闪烁

2) 保持位置固定,并使用javascript根据用户的左/右滚动量水平定位。问题是,手机上有一个滚动动画(一种加速动画),脚本只在动画停止后运行,这也很尴尬

这是我看到的两种实现方式,我希望你们有其他在小屏幕台式机和手机上工作的好方法。对不起,没有代码要突出显示,因为它会占用太多空间。

简短回答:没有

详细回答:使用“固定”定位的问题在于它会使元素脱离流动。因此,它不能相对于其父对象重新定位,因为它好像没有父对象一样


你需要使用JS。我认为您提供的解决方案是唯一的解决方案。

如果我理解正确,看起来您想要这样的解决方案,垂直滚动条在最右边,但您没有对此做任何说明

<!DOCTYPE html>
<html>
    <head>
        <title>scroll</title>
        <style type="text/css">
            #topbar
            {
                position: absolute;
                width: 2000px;
                height: 40px;
                top: 0;
                left: 0;
                border: 1px dashed red;
            }

            #content
            {
                position: absolute;
                width: 2000px;
                left: 0;
                top: 41px;
                bottom: 0;
                border: 1px dotted blue;
                overflow-y: scroll;
            }
        </style>
    </head>
    <body>
        <div id="topbar">
            Hello topbar
        </div>
        <div id="content">
            <script type="text/javascript">
                (function(){
                    var n = 1000;
                    do
                    {
                        document.write("<p>some content</p>");
                    } while ( --n );
                })();
            </script>
        </div>
    </body>
</html>

纸卷
#顶栏
{
位置:绝对位置;
宽度:2000px;
高度:40px;
排名:0;
左:0;
边框:1px红色虚线;
}
#内容
{
位置:绝对位置;
宽度:2000px;
左:0;
top:41px;
底部:0;
边框:1px点蓝色;
溢出y:滚动;
}
你好,topbar
(功能(){
var n=1000;
做
{
文件。写(“一些内容”

”; }而(--n); })();
如果你能在你的页面上发布一个链接,我可以提出一些建议。