如何在滚动时显示侧边栏,并在页面顶部隐藏侧边栏
How to show a sidebar when scrolling and hide it when at the top of the page?
这是我的侧边栏:
<ul id="sidebarupcoming">
<li><a href="#week36">WEEK 36 </a></li>
<li><a href="#week37">WEEK 37 </a></li>
<li><a href="#week38">WEEK 38 </a></li>
</ul>
我试图用这个脚本隐藏它
<!– Scroll –>
<script type="text/javascript" src="http://ajax.googleapis.com/ajax/libs/jquery/1/jquery.min.js"></script>
<script type="text/javascript" src="http://static.tumblr.com/fgfmpgh/Qqfkzalyi/jquery.scroll.pack.js"></script>
<script type="text/javascript" src="http://static.tumblr.com/fgfmpgh/7xukzalz8/jquery.easing.js"></script>
<script type="text/javascript">
$(function() {
$("#sidebarupcoming").scrollToTop({speed:500,start:700});
});
</script>
<!– / Scroll –>
使用此脚本,"滚动显示"功能有效,但是当您单击链接时,"跳转到名称标签"将不起作用,相反,页面将跳转到顶部。当我删除脚本时,跳转到名称标签有效,但侧边栏不再隐藏。我如何让它工作?(这个,侧边栏"在滚动上显示"并跳到正确的名称标签?
scroll()
方法是 on('scroll', handler)
的别名, 是滚动时触发的事件处理程序,$(window).scrollTop()
返回与顶部的距离(以像素为单位(。您想根据需要自定义隐藏动画效果,我建议.animate()
,.hide()
或.fadeOut()
JavaScript
$(function() {
$(window).scroll(function(e) {
if ($(this).scrollTop() > 700)
{
$("#sidebarupcoming").fadeIn("slow");
}
else
{
$("#sidebarupcoming").hide();
}
});
});
然后单击锚点<a href='#week36'>WEEk 36 </a>
应该按预期工作,如果您希望对该元素的滚动运动进行动画处理,您应该查看此 SO 答案。
在这种情况下,我建议为每个链接添加一个类,如下所示animated-scroll
:
JavaScript
$(".animated-scroll").click(function (e){
var elementID = $(this).attr('href');
e.preventDefault(); // stop default behaviour
$('html, body').animate({
scrollTop: $(elementID).offset().top
}, 2000);
});
.HTML
<ul id="sidebarupcoming">
<li><a href="#week36" class='animated-scroll'>WEEK 36 </a></li>
<li><a href="#week37" class='animated-scroll'>WEEK 37 </a></li>
<li><a href="#week38" class='animated-scroll'>WEEK 38 </a></li>
</ul>
学分:
- 史蒂夫再次回答链接
- 来自上面的原始来源 SO 链接
查看 jquery 文档
- 滚动((
相关文章:
- 当侧边栏很长时,滚动/固定侧边栏会被切断
- 创建带有侧边栏的谷歌地图
- 如何在显示侧边栏时禁用背景,单击除侧边栏之外的任何位置都会关闭侧边栏
- 在页脚处停止固定侧边栏-防止重叠
- 如何将javascript添加到Wordpress侧边栏中
- 如何正确地将数据发送到打开的Firefox侧边栏
- 如何制作侧边栏以增加其完整长度
- 固定位置侧边栏不滚动-设置内容的高度
- Firefox插件SDK:在侧边栏和主脚本之间通信对象
- 在上下文菜单项单击上显示侧边栏/弹出窗口的最佳方法是什么
- 如何将数组(Google应用程序脚本)返回到HTML侧边栏
- 切换传单侧边栏 V2
- 粘性侧边栏停止在页脚上方 30px
- 使用什么js函数来切换侧边栏
- 指定的侧边栏广播器无效 -- 有效的侧边栏广播器是什么样子的
- 向下滚动页面时在侧边栏中显示部分标题(也许使用 BS scrollspy?
- 火狐侧边栏获取标签网址
- 如何在滚动时显示侧边栏,并在页面顶部隐藏侧边栏
- 在打开侧边栏之前禁用滚动到页面顶部的功能
- 带有固定顶部菜单的语义ui侧边栏