获取滚动条距离控制页面样式

<template>

   <h3 class="textChangee" :style="{ transform: translatechange }">xxx</h3>    

</template>

<script>

export default {

  data() {

    return {

      translatechange: 'translateX(0%)'

    }

  },

  methods: {

    windowScrollListener() {

      //获取操作元素最顶端到页面顶端的垂直距离

      var scrollTop = document.body.scrollTop || document.documentElement.scrollTop

      if (scrollTop < 2400) {

        this.translatechange = 'translateX(100%)' 

      }

      if (scrollTop >= 2400) {

        this.translatechange = 'translateX(0%)' 

      }

      if (scrollTop > 3000) {

        this.translatechange = 'translateX(100%)' 

      }

console.log(scrollTop);

    }

  },

  created() {

    // 实时监听

    window.addEventListener('scroll', this.windowScrollListener)

  }

}

</script>

<style>

.textChangee {

      transition: all 3s;

      transform: translateX(100%);

    }

</style>

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
要实现导航栏随页面滚动并自动切换的效果,可以结合CSS和JavaScript来实现。具体步骤如下: 1. 在CSS中设置导航栏的样式,包括宽度、高度、背景色等,以及将导航栏设置为固定定位(position: fixed)。 2. 使用JavaScript获取导航栏的高度和滚动距离,当滚动距离大于导航栏高度时,将导航栏切换为另一个样式(例如添加背景色、改变字体颜色等)。 3. 将JavaScript代码绑定到页面的滚动事件上,实现随着页面滚动导航栏样式的自动切换。 以下是示例代码: HTML: ``` <div class="navbar"> <ul> <li><a href="#">Home</a></li> <li><a href="#">About</a></li> <li><a href="#">Contact</a></li> </ul> </div> <div class="content"> <!-- 页面内容 --> </div> ``` CSS: ``` .navbar { position: fixed; top: 0; left: 0; width: 100%; height: 50px; background-color: #fff; z-index: 999; } .navbar.scrolled { background-color: #333; color: #fff; } ``` JavaScript: ``` window.addEventListener('scroll', function() { var navbar = document.querySelector('.navbar'); var scrolled = window.scrollY > navbar.offsetHeight; if (scrolled) { navbar.classList.add('scrolled'); } else { navbar.classList.remove('scrolled'); } }); ``` 在上面的代码中,我们使用了`querySelector`方法获取了导航栏元素,并且在滚动事件中根据滚动距离来判断是否需要更改导航栏的样式。如果滚动距离大于导航栏高度,则将导航栏的样式切换为`scrolled`类中定义的样式。否则,将导航栏的样式还原为默认样式
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值