滚动 导航栏 吸顶 固定

这里写图片描述

<template>
  <div>
    <section id="screen1" class="section1">

      <p>下滑试试?</p>

      <nav ref="nav">
        <ul>
          <li><a href="#"></a></li>
          <li><a href="#"></a></li>
          <li><a href="#"></a></li>
          <li><a href="#"></a></li>
          <li><a href="#"></a></li>
        </ul>
      </nav>

    </section>

    <section id="screen2"></section>
    <section id="screen3"></section>

  </div>
</template>

<script type="text/babel">
  export default {
    mounted() {
      window.addEventListener('scroll', () => {
        let excNavHeight = (window.innerHeight || document.documentElement.clientHeight)*0.3
        console.log('excNavHeight', excNavHeight, 'document.body.scrollTop', document.body.scrollTop)
        if (document.body.scrollTop > excNavHeight) {
          this.$refs.nav.className = 'fixed'
        }
        else {
          this.$refs.nav.className = ''
        }
      })
    }
  }
</script>

<style lang="stylus" rel="stylesheet/stylus" scoped>
  * {margin: 0; padding: 0;}

  a {text-decoration: none;}

  .fixed {
    position: fixed;
    top: 0;
    height: 70px;
    z-index: 1;
  }

  body {
    color: #fff;
    font-family: 'open-sans-bold', AvenirNext-Medium, sans-serif;
    font-size: 18px;
    text-align: center;
  }

  nav {
    position: absolute;
    top: 30%;
    width: 100%;
    height: 70px;
    background: #fff;
  }

  nav li {
    display: inline-block;
    padding: 24px 10px;
  }

  nav li a {
    color: #999;
  }

  section {
    height: 100vh;
  }

  #screen1 {
    background: #43b29d;
  }

  #screen1 p {
    padding-top: 100px;
  }

  #screen2 {
    background: #efc94d;
  }

  #screen3 {
    background: #e1793d;
  }

  @media only screen and (max-width: 520px) {

    nav li {
      padding: 24px 4px;
    }

    nav li a {
      font-size: 14px;
    }

  }
</style>
  • 0
    点赞
  • 4
    收藏
    觉得还不错? 一键收藏
  • 2
    评论
评论 2
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值