我有一个位于我的网页上的JavaScript菜单栏,然后当浏览器栏到达菜单顶部时,它会锁定到一个固定位置并随窗口一起移动。但是,我需要在div中包含菜单,如何做到这一点?
这是我的菜单栏:
<script type="text/javascript" src="http://ajax.googleapis.com/ajax/libs/jquery/1.5.1/jquery.min.js"></script>
<script type='text/javascript'>
$(window).load(function(){
$(window).scroll(function(){
if ($(window).scrollTop() >= 200)
{
$("#floatbar").css({position:'fixed',left:'0',top:'0'});
}
else
{
$("#floatbar").css({position:'absolute',left:'0',top:'200px'});
}
});
});
</script>
这是我的HTML:
<div id="menu_runner">
<div id="floatbar">
<a href="#issue49">Issue 49</a><br />
<a href="#issue48">Issue 48</a><br />
<a href="#issue47">Issue 47</a><br />
<a href="#issue46">Issue 46</a><br />
</div>
</div>
和我的css:
#menu_runner {
width: 100px;
height: 2000px;
float: right;
position: relative;
}
#floatbar {
width: 70px;
position: absolute;
top: 200px;
}
其中菜单运行器是包含菜单的div,浮动栏显然包含运行JavaScript的菜单。
然而,当我尝试使用此代码时,菜单会向左移动并从顶部开始200px,而不是在menu_runner div中。如何使浮动条位于menu_runner div中,然后使用div中的JavaScript向下滚动。
答案 0 :(得分:1)
if ($(window).scrollTop() >= 0)
&lt; ------将其设置为零或
你可以用css
#floatbar {
position:fixed;
top: 10px; /* tells browser the div should position at the very bottom of the window */
right: 1px; /* tells the browser the div should have no space on the right */
left: 1px; /* tells the browser the div should have no space on the left */
margin: 1px; /* because we want this width: 100%, the margin must be 0 */
padding: 1px; /* because we want the width: 100%, the padding must be 0 */
width: 10px; /* makes the div a bar stretching across the bottom of the screen */
height: 35px; /* makes the floating bar 35 pixels high*/
z-index: 9999; /*positions this div on top of all other elements in the site - this number can increase or decrease to your liking */
border:1px solid #000;
}