我正在处理一个固定在页面右侧的菜单。我正在使用一些JavaScript将菜单保持在其固定位置,直到该站点到达特定位置(从顶部243px - 清除我的标题)。所有这一切都按照我的意图工作......但是我正在寻找一种方法让菜单停止从底部滚动特定数量的像素(清除我的页脚 - 600px)。
JavaScript看起来像:
$(window).scroll(function(){
$("#side").css("top",Math.max(15,243-$(this).scrollTop()));
});
HTML看起来像:
<div class="menu">
<div id="side">
<ul>
<li>Item1</li>
<li>Item2</li>
<li>Item3</li>
</ul>
</div>
</div>
CSS看起来像:
.menu {
right: 0;
position: absolute;
top: 243px;
width: 250px;
z-index: 5;
}
#side {
background: #ace;
position:fixed;
width: 250px;
}
JS小提琴:https://jsfiddle.net/050dqcea/
原始解决方案(从顶部滚动):Stopping fixed position scrolling at a certain point?
答案 0 :(得分:1)
我想我现在明白了,小提琴并没有加载jQuery,所以它根本没有按预期运行。
您可以更改您希望如何展示或隐藏这些内容,这取决于您。我会对用户可能会对菜单消失感到多么激动做出一些评论,但这取决于您自己决定。或者,您可以使用这些触发器来重新&#34;重新定义&#34;你的菜单。世界是你的牡蛎等。
我在这里使用了$("#side").offset().top
。我们的想法是检查菜单底部何时滚动到页脚顶部。然后将其恢复,我们检查垂直滚动是否小于页脚顶部的偏移量。
你的小提琴:https://github.com/kataras/iris/blob/master/_examples/http-listening/listen-tls/main.go#L22