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

滚动到后,如何使div停留在屏幕顶部?

壤驷安和
2023-03-14
问题内容

我想创建一个div,它位于内容块的下方,但是一旦页面滚动到足以接触其顶部边界的位置,它就会固定在适当的位置并随页面滚动。


问题答案:

您可以简单地使用css,将元素定位为fixed:

.fixedElement {
    background-color: #c0c0c0;
    position:fixed;
    top:0;
    width:100%;
    z-index:100;
}

编辑: 您应该将元素的位置设为绝对,一旦滚动偏移量到达该元素,则应将其更改为fixed,并将顶部位置设置为零。

您可以使用scrollTop函数检测文档的顶部滚动偏移量:

$(window).scroll(function(e){ 
  var $el = $('.fixedElement'); 
  var isPositionFixed = ($el.css('position') == 'fixed');
  if ($(this).scrollTop() > 200 && !isPositionFixed){ 
    $el.css({'position': 'fixed', 'top': '0px'}); 
  }
  if ($(this).scrollTop() < 200 && isPositionFixed){
    $el.css({'position': 'static', 'top': '0px'}); 
  } 
});

当滚动偏移量达到200时,该元素将 固定 在浏览器窗口的顶部,因为它被固定放置。



 类似资料:
  • 问题内容: 我有一个div,当我的页面首次加载时,它离顶部约100像素(该页面包含一些按钮等)。 当用户滚动通过它时,我希望div“关注”该用户,因为它附着在屏幕顶部。当用户返回页面顶部时,我希望它返回到其原始位置。 问题答案: 诀窍是您必须将其设置为position:fixed,但仅在用户滚动经过它之后才能设置。 可以通过将处理程序附加到window.scroll事件来完成此操作 当页面滚动经过

  • 这可能是我处理布局的方式有问题。对Java和Android软件开发工具包来说有点新鲜。我正在使用Android Studio。 我在这一点上的目标是有一个应用程序,屏幕底部显示一个带有图标的导航栏,顶部有一个带有“关闭”按钮和“保存”按钮的工具栏。工具栏和导航栏之间应该是一个空白的白色屏幕。 但是我很难让工具栏停留在屏幕的顶部。灰色背景占据了白色背景前面的整个屏幕。下面是截图。 这是我所知道的:

  • 我使用jqueryslidetoggle从页面顶部滑动一个div。效果正在发挥作用,可以在此处看到(请将鼠标悬停在会员登录导航按钮上方以查看效果,蓝色div将向下滑动): 我的问题是,当页面向下滚动时,div仍然从文档的顶部向下滑动,而不是从视口窗口的顶部向下滑动,因此它不可见。如果您向下滚动页面,并将鼠标悬停在右侧的会员登录按钮上,您将看到问题(主导航向下移动,但隐藏的蓝色div不再可见)。 我

  • 问题内容: 我的浏览器在ajax请求后滚动到顶部,然后我使用 滚动回到我的div。有没有一种方法可以阻止它从一开始就滚动到顶部 问题答案: 您应该将其添加到ajax调用函数的末尾。或至内联通话结束:

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

  • 我正在使用AngularJS开发一个小型web应用程序,遇到了一个问题。我正在使用填充div内部的列表。div有一个固定的高度,并设置为,这意味着当列表对于div来说太大时会出现一个滚动条。我的问题是,当重新绘制列表时,即支持ng repeat的数据会发生变化,滚动条不会重置为div的顶部。相反,它会保持在ng repeat更改之前滚动条所在的任何位置。这是一个非常糟糕的用户体验。我尝试了以下方法