我有一个元素的位置:固定的,所以滚动与我想要的页面,但。当用户向上滚动时,我希望元素在某个点停止滚动,比如从页面顶部开始滚动到250px时,这可能吗?任何帮助或建议都是有帮助的,谢谢!
我有一种感觉,我需要使用jquery来做到这一点。我试着获取用户所在位置的滚动或位置,但我真的搞不懂,有什么jquery解决方案吗?
发布于 2016-06-18 01:16:53
在一个项目中,我实际上在页面加载时在屏幕底部固定了一些标题(这是一个绘图应用程序,所以标题在底部,以便在宽视口上为画布元素提供最大空间)。
我需要标题在滚动到页脚时变得“绝对”,因为我不想让标题在页脚之上(标题颜色与页脚背景颜色相同)。
我在这里接受了最古老的回应(由Gearge Millo编辑),这个代码片段适用于我的用例。通过一些尝试,我让它工作起来了。现在,一旦固定的标题到达页脚,它就会漂亮地位于页脚的上方。
我只是想分享我的用例和它是如何工作的,并说声谢谢!应用程序:http://joefalconer.com/web_projects/drawingapp/index.html
/* CSS */
@media screen and (min-width: 1100px) {
#heading {
height: 80px;
width: 100%;
position: absolute; /* heading is 'absolute' on page load. DOESN'T WORK if I have this on 'fixed' */
bottom: 0;
}
}
// jQuery
// Stop the fixed heading from scrolling over the footer
$.fn.followTo = function (pos) {
var $this = this,
$window = $(window);
$window.scroll(function (e) {
if ($window.scrollTop() > pos) {
$this.css( { position: 'absolute', bottom: '-180px' } );
} else {
$this.css( { position: 'fixed', bottom: '0' } );
}
});
};
// This behaviour is only needed for wide view ports
if ( $('#heading').css("position") === "absolute" ) {
$('#heading').followTo(180);
}
https://stackoverflow.com/questions/5902822
复制相似问题