开发者社区> 问答> 正文

纯css能否实现某些网站类似导航条的一个东西

在打开页面时,该导航在页面中的一个div的顶部
滚动页面时,该导航随页面滚动到窗口的顶部,随后停在那里(position:fixed; top:0; )
如果不能的话求js思路

展开
收起
杨冬芳 2016-06-01 18:46:41 2154 0
1 条回答
写回答
取消 提交回答
  • IT从业

    纯css 可能很点困难。 我说下使用js的想法:

    1. 记录导航条初始状态下距离页面顶部的距离startPos

      1. 在滚动事件上计算页面滚动的距离scrollTop,并比较 startPos 和 scrollTop的大小,如果startPos > scrollTop 则保持导航条在初始位置,否则置顶导航条。
    var startPos = $('.nav').offset().top;
    function setNavPos(){
        var scrollTop = Math.max(document.documentElement.scrollTop, document.body.scrollTop);
        if (scrollTop > startPos){
            $('.nav').addClass('to-top');
        }else{  
            $('.nav').removeClass('to-top');
        }
    }
    $(window).on('scroll', setNavPos);
    

    如果要支持移动设备,就要使用touch类的事件了, 例如touchmove, touchstart, touchover

    2019-07-17 19:23:41
    赞同 展开评论 打赏
问答排行榜
最热
最新

相关电子书

更多
零基础CSS入门教程 立即下载
低代码开发师(初级)实战教程 立即下载
阿里巴巴DevOps 最佳实践手册 立即下载