根据滚动位置更改 CSS 类
change css class based on scroll position
我有以下HTML
<header class="fixed">...</header>
<div id="content">
<div id="sidemenu" class="fixed">...</div>
<div id="scroll">...</div>
</div>
<footer class="fixed">...</footer>
在CSS和规则中使用各种定位规则
.fixed {
position: fixed;
}
这实现了仅具有 id 的div 滚动移动的预期效果。但是,这可能会使页脚不在视线之外。
我想做的是,一旦滚动div的底部到达页脚的底部,position: fixed
更改为position: absolute
,然后所有内容将一起向上滚动,显示页脚。
但我不知道该怎么做。我正在看航点,但我有点头疼。
这样的事情应该可以解决你的问题。 试试这个:
$(window).scroll(function () {
var scrollBottom = $(document).height() - $(window).height() - $(window).scrollTop();
if (scrollBottom <= $("footer").height()) {
$("footer").css("position", "absolute");
}
else {
$("footer").css("position", "fixed");
}
});
为此,您将有"onScroll"事件。并检查滚动div 的坐标何时与页脚的坐标匹配。一旦它们匹配,在处理程序的实现中将位置更改为"绝对"。
相关文章:
- jQuery-仅更改Y轴的CSS背景位置
- css/js:通过滚动固定位置
- 当涉及css缩放时,如何获得页面上的点击位置
- 更改CSS以允许使用Javascript控制DIV位置
- 如何使用 JavaScript 动态设置 DIV 元素的左侧和顶部 CSS 位置
- 如何指定除了一个区域之外的css位置?轨道
- 获取CSS位置转换,以不对窗口缩放做出反应
- CSS位置固定不工作-粘性导航
- 光线如何?项目在没有CSS位置或margin-top的情况下上下移动
- css位置:fixed在chrome和safari中滚动时不固定
- 使用JS或JQuery更改DIV中每个元素的CSS位置
- jQuery position方法,如果CSS位置稍后被设置为静态以外的任何内容,则返回不同的值
- 最干净的“重置”方法没有动画的CSS位置
- Meteor:登录按钮的CSS位置
- 用JS修改CSS位置
- 使用Javascript设置CSS位置
- jQuery CSS 位置右边不起作用
- 如何使用jQuery增加CSS Y位置坐标
- Css位置固定水平滚动,但垂直滚动
- Jquery show()在表演时破坏CSS位置属性