滚动固定导航

html

<header></header>
<ul></ul>

css

*{margin: 0;padding: 0;}
header{height: 50px;width:100%;background:#ddd;position: relative;top: 0;z-index: 999;left: 0;}
.ofixednav{position: fixed;top: 0;left: 0;}

js

<script type="text/javascript" src="jquery.js"></script>
<script>
    var oUl=document.getElementsByTagName('ul')[0];
    for(var i=0;i<200;i++){
        oUl.innerHTML+='<li>'+i+'</li>';
    }
   $(function(){
    $(window).scroll(function(){
        if($(window).scrollTop()>=50){
            $('header').addClass('ofixednav');
        }else{
            $('header').removeClass('ofixednav');
        }
    })
   })

</script>
这个功能可以通过监听滚动事件来实现。当滚动到一定位置时,就让导航固定在页面顶部。 具体实现步骤如下: 1. 获取需要固定导航条和滚动条。 2. 监听滚动事件,获取当前滚动的距离。 3. 判断当前滚动距离是否超过了导航条的位置,如果超过了就将导航固定在页面顶部。 4. 如果没有超过导航条的位置,就将导航条恢复原来的位置。 代码示例: ``` // 获取需要固定导航条和滚动条 var nav = document.getElementById('nav'); var scrollBar = document.getElementById('scrollBar'); // 监听滚动事件 window.addEventListener('scroll', function() { // 获取当前滚动的距离 var scrollTop = document.documentElement.scrollTop || document.body.scrollTop; // 判断当前滚动距离是否超过了导航条的位置 if (scrollTop > nav.offsetTop) { // 将导航固定在页面顶部 nav.style.position = 'fixed'; nav.style.top = '0'; nav.style.left = '0'; } else { // 将导航条恢复原来的位置 nav.style.position = 'static'; } }); ``` 在上面的代码中,我们使用了 `offsetTop` 属性来获取导航条在页面中的位置。同时,我们还使用了 `scrollTop` 属性来获取当前滚动的距离。通过比较这两个值,我们就可以判断出当前是否需要固定导航条了。如果需要固定,就将导航条的 `position` 属性设置为 `fixed`,并将 `top` 和 `left` 属性设置为 `0`。如果不需要固定,就将导航条的 `position` 属性设置为 `static`。
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值