当前位置: 首页 > 面试题库 >

如何获得固定位置的div,以使其与内容水平滚动?使用jQuery

耿星雨
2023-03-14
问题内容

我有以下CSS的div.scroll_fixed

.scroll_fixed {
    position:absolute
    top:210px

}
.scroll_fixed.fixed {
    position:fixed;
    top:0;
}

当div到达页面顶部时,我正在使用以下jQuery代码设置.fixed类。

var top = $('.scroll_fixed').offset().top - parseFloat($('.scroll_fixed').css('margin-top').replace(/auto/, 0));

$(window).scroll(function (event) {
    // what the y position of the scroll is
    var y = $(this).scrollTop();

    // whether that's below the form
    if (y >= top) {
        // if so, ad the fixed class
        $('.scroll_fixed').addClass('fixed');
    } else {
        // otherwise remove it
        $('.scroll_fixed').removeClass('fixed');
    }
});

这对于垂直滚动固定非常有用。但是在浏览器窗口较小的情况下,水平滚动会导致与此固定div右侧的内容发生冲突。

我希望div随内容水平滚动。

谁能指出我正确的方向。仍然用JS / JQuery弄湿我的脚。

我基本上希望它像本示例中的第二个框一样工作。


问题答案:

该演示将保留元素的 属性position:fixed并对其进行操作left

var leftInit = $(".scroll_fixed").offset().left;
var top = $('.scroll_fixed').offset().top - parseFloat($('.scroll_fixed').css('margin-top').replace(/auto/, 0));


$(window).scroll(function(event) {
    var x = 0 - $(this).scrollLeft();
    var y = $(this).scrollTop();

    // whether that's below the form
    if (y >= top) {
        // if so, ad the fixed class
        $('.scroll_fixed').addClass('fixed');
    } else {
        // otherwise remove it
        $('.scroll_fixed').removeClass('fixed');
    }

    $(".scroll_fixed").offset({
        left: x + leftInit
    });

});


 类似资料:
  • 问题内容: 我有一个部门想要显示图像,然后单击以在灯箱中打开它们。我将它们向左浮动并在线显示它们。设置overflow- x进行滚动,但是一旦行空间不足,它仍然会将图像放在下面。我想让它们内联,并在需要时显示水平滚动。 注意: 我无法更改内部图像的结构。它必须是锚点内的img。我的灯箱就这样要求它。 HTML: CSS: 我知道这是非常基本的,但是我做不到。不知道怎么了 问题答案: HTML中可能

  • 在我正在开发的一个网站中,我有一个div,用于移动版的主菜单。 这个div是固定的(下面是css),但在某些情况下,它的高度大于设备的高度。 我想将div样式设置为但是,如果内容溢出设备的高度,我需要它在没有滚动条的情况下可滚动,并且不移动网站的其余部分。 CSS: JAVASCRIPT: HTML格式: 我能实现我假装的东西吗?

  • 问题内容: 滚动到该位置后如何使它固定?我在页面的后面有一个,您需要滚动到那个页面。 如果我使用: 在出现之前就应该正常显示。我需要的一个很好的例子是9gag上的第二个广告。如果屏幕分辨率足够低,则在加载首页后您将看不到该广告,但是向下滚动后,您会看到第二个广告,并且在向下滚动时它将保持固定。 问题答案: 我知道这仅被标记为html / css,但是您不能仅使用css来做到这一点。最简单的方法是使

  • 问题内容: 我目前正在尝试在用户在X轴上滚动时修复表格中的第一列。我正在使用此结构: 用户将选择项目的数量,即表中可能是90个项目。这将需要在X轴上滚动。我得到的问题是: 如何确定(和中的)标记的位置? 我一直在看其他一些线程,但是它们并没有真正解释我如何实现固定列,这使我很难理解代码的作用和应做的事情。 我还检查了人们将标题栏拆分到另一个表中的解决方案。这对我来说是不可能的,因为稍后我会将数据导

  • 问题内容: 我实际上有两个问题,但是让我先解决主要问题,因为我认为另一个更容易解决。 我在菜单左侧的滚动条的左侧有一个固定位置的div。右侧是可以正确滚动的标准div。问题是,当浏览器的视口太小而看不到整个菜单时,..没有办法让它滚动到我能找到的位置(至少没有使用CSS)。我试过在CSS中使用不同的溢出,但是没有什么可以使div滚动。包含菜单的div设置为min- height:100%和posi

  • 在我的一个活动中有一个父容器,它调用由一个水平scrollview组成的子容器作为对象之一。有点像recyclerview,其中放置了行对象,有一个由水平滚动视图组成的公共行/项布局。 我的目标是同步horizontalscrollview的位置,这样,当我在其中一个对象上从位置1水平滚动到位置2时,包含HorizonalScrollview的所有其他项目都会从位置1更新到位置2。 这是我的主容器