我需要隐藏我的2个菜单(顶部和侧面菜单),一旦我开始向下滚动,首先变得可见...例如,在10 px之后说。任何人都可以帮我实现这个目标吗?
HTML
<div class="wrapper">
<div class="navigation_top">
<ul>
<li>Btn_1</li>
<li>Btn_2</li>
<li>Btn_3</li>
<li>Btn_4</li>
<li>Btn_5</li>
</ul>
</div>
<div class="navigation_side">
<ul>
<li><a href="#slice1" id="btn_1" class="anchorLink">slice1</a></li>
<li><a href="#slice2" id="btn_2" class="anchorLink">slice2</a></li>
<li><a href="#slice3" id="btn_3" class="anchorLink">slice3</a></li>
<li><a href="#slice4" id="btn_4" class="anchorLink">slice4</a></li>
<li><a href="#slice5" id="btn_5" class="anchorLink">slice5</a></li>
</ul>
</div>
<div id="slice1"></div>
<div id="slice2"></div>
<div id="slice3"></div>
<div id="slice4"></div>
<div id="slice5"></div>
</div>
CSS
html, body {height:100%; color:#FFF;}
.wrapper {width:100%; height:100%;}
.navigation_top {width:100%; height:50px; background-color:#000; opacity:.5; line-height:50px; position:fixed;}
.navigation_top ul {list-style:none;}
.navigation_top ul li {float:left; width:20%; display:block;}
.navigation_side {width:200px; height:auto; position:fixed; background-color:#FFF; margin-top:30%;}
#slice1 {width:100%; height:100%; background-color:#CCC;}
#slice2 {width:100%; height:100%; background-color:#999;}
#slice3 {width:100%; height:100%; background-color:#888;}
#slice4 {width:100%; height:100%; background-color:#777;}
#slice5 {width:100%; height:100%; background-color:#666;}
Jquery的
jQuery(document).ready(function($) {
$(".anchorLink").click(function(event){
event.preventDefault();
$('html,body').animate({scrollTop:$(this.hash).offset().top}, 500);
});
});
这是一个小提琴:
答案 0 :(得分:1)
使用jQuery,您可以在元素上收听scroll
事件:http://api.jquery.com/scroll/
您可以使用scrollTop
获取滚动位置:http://api.jquery.com/scrollTop/(或scrollLeft
进行水平滚动)
一个例子:
$('#myElement').scroll(function() {
if ($(this).scrollTop() > 10) {
// Do some stuff
}
});
答案 1 :(得分:1)
首先隐藏您的菜单,然后收听scroll
上的window
活动并检查scrollTop
:
jQuery(document).ready(function($) {
$(".anchorLink").click(function(event){
event.preventDefault();
$('html,body').animate({scrollTop:$(this.hash).offset().top}, 500);
});
$('.navigation_top').hide();
$(window).scroll(function() {
// the 10 below is the number of pixels down to show the menu
if ($(this).scrollTop() > 10) $('.navigation_top').show();
else $('.navigation_top').hide();
});
});