在特定点后停止粘贴的粘性侧导航
Sticky Side Nav that Stops Sticking after a Certain Point
本文关键字:导航 更新时间:2023-09-26
我想知道如何让粘性侧导航停止滚动或在某个点后停止粘贴并锁定到位。有问题的项目页面位于此处:
http://www.tcdiggity.com/new-diggity-menu-22/
正如你所看到的,带有菜单左侧导航的小导航"粘"在实际页面上。但如果你继续向下滚动,它会继续粘在上面。我想知道是否有办法让它只滚动主菜单页面?我想我现在已经使用FixedCSS标记以最基本的形式设置了它。任何建议都很好!谢谢
这应该是您想要的。你必须找到一个你想要隐藏的值。
$(window).scroll( function() {
var valueOfScroll = $(document).scrollTop().valueOf();
if(valueOfScroll <= ???)
$('#sticker').show();
else
$('#sticker').hide();
});
从你网站上的测试值来看,这似乎很有效,所以它在你的主要内容结束前消失了:
$(window).scroll( function() {
var valueOfScroll = $(document).scrollTop().valueOf();
if(valueOfScroll <= 10500)
$('#sticker').show();
else
$('#sticker').hide();
});
这对渐变效果更好:
var top = true;
var bottom = false;
$(window).scroll( function() {
var valueOfScroll = $(document).scrollTop().valueOf();
if(valueOfScroll <= 10500)
{
if(!top)
{
bottom = false;
top = true;
$('#sticker').fadeToggle(1000);
}
}
else
{
if(!bottom)
{
top = false;
bottom = true;
$('#sticker').fadeToggle(1000);
}
}
});
希望这能有所帮助!
另外,作为补充说明,我建议在CSS中添加margin-top:50px
,这样侧栏就不会超过主要内容的纸张背景。:)
.side-tabs {
margin-left: -135px;
margin-top: 50px;
position: fixed;
z-index: 1 !important;
}
根据您在评论中的问题:
$(window).scroll( function() {
var valueOfScroll = $(document).scrollTop().valueOf();
if(valueOfScroll <= 10500)
$('#sticker').css({ 'margin-left': "-135px" });
else
$('#sticker').css({ 'margin-left': "20px" });
if(valueOfScroll <= 10800)
$('#sticker').show();
else
$('#sticker').hide();
})
我会说这是"更干净"的,因为你不需要第二个if语句,但对我来说很好。
相关文章:
- 单击顶部导航时如何进行向下滚动效果(向下滑动).
- angular 1.5应用程序中的导航栏
- 无法从jquery Mobile导航栏重定向到另一个页面
- 引导程序:在导航栏中,显示悬停在单个位置的基于Li Link的不同内容
- 导航到特定事件的另一个变量页面
- MVC 3页面导航和使用javascript传递参数
- 如何在react js中从一个页面导航到另一个页面
- 导航栏没有调整到浏览器屏幕的大小
- 显示放大镜弹出窗口时隐藏导航内容
- DataTable按下键选择扩展/导航
- 正在检测导航到<a name=“;最新主题”></a>
- 带有url的单页网站导航
- 父页面的角度路由器导航高亮显示
- 如何正确编程jQuery动画与平滑(导航栏)
- 动态更改'汉堡包'导航取决于BG图像
- 使用导航属性创建Kendo UI网格模型的问题
- Flexslider导航按钮在悬停时不可见,带有橙色框
- 离开页面导航后保留文本区域内容
- 当主导航离开视图时,为粘性导航应用样式
- 删除移动视图粘性js上的粘性导航栏