一些项目需要的东西整合(2)—— 浮动导航
这个东西其实理解了很好懂的,就是position:fixed的应用
例子如下:
<!DOCTYPE HTML>
<html lang="en-US">
<head>
    <meta charset="UTF-8">
    <title></title>
    <style type="text/css">
    .wrapper{width:1000px;height:2000px;margin-left:auto;margin-right:auto;}
    .header{height:150px;}
    #nav{padding:10px;position:relative;top:0;background:black;width:1000px;}
    a{display:inline-block;margin:0 10px;*display:inline;zoom:1;color:white;}
    </style>
</head>
<body>
    <div class="wrapper">
        <div class="header"></div>
        <div id="nav">
            <a href="#">11111</a>
            <a href="#">22222</a>
            <a href="#">33333</a>
            <a href="#">44444</a>
            <a href="#">55555</a>
        </div>
    </div>
</body>
</html>
<script type="text/javascript" src="menuFixed.js"></script>
<script type="text/javascript">
window.onload = function(){
    menuFixed('nav');
}
</script>
/*js*/
// JavaScript Document
function menuFixed(id){
    var obj = document.getElementById(id);
    var _getHeight = obj.offsetTop;
    
    window.onscroll = function(){
        changePos(id,_getHeight);
    }
}
function changePos(id,height){
    var obj = document.getElementById(id);
    var scrollTop = document.documentElement.scrollTop || document.body.scrollTop;
    if(scrollTop < height){
        obj.style.position = 'relative';
    }else{
        obj.style.position = 'fixed';
    }
}
浮动导航其实就是分几种样式的,要么上面、下面,在旁边分的那些广告我就不说了- -!
要考虑的其实就是当你的导航没在最顶的时候,要窗口滚动多少才给导航定位(scrollTop这个就是窗口滚动的取值),
加入上面有个标题栏,那你就要考虑窗口滚动的距离和广告栏的height(高)的大小;scrollTop < height这个就是窗口滚动的距离还没有超过标题栏的高,
不用我说你也懂吧;当scrollTop > height就给个fixed定位就可以了,一般是固定在top:0那,怎么定都看你的需要。
有什么不对的请指出,谢谢,分享是一种美德!
其实我做的是移动端的,不知道是不是网速问题还是怎么,我滑动的时候导航切换很慢,那效果不好看,我找了很久都没找到什么原因,有那位大神知道求分享经验,谢谢!
 
                    
                 
                
            
         浙公网安备 33010602011771号
浙公网安备 33010602011771号