1200字范文,内容丰富有趣,写作的好帮手!
1200字范文 > Vue导航栏吸顶及滚动渐变色

Vue导航栏吸顶及滚动渐变色

时间:2024-01-28 11:05:46

相关推荐

Vue导航栏吸顶及滚动渐变色

@阿乐今天敲代码没


效果图

好几天没更新了,做一个小demo吧。导航栏吸顶,以及随页面滚动实现渐变色

吸顶前:

吸顶后:

滚动渐变色:


一、实现

html:

<div class="nav" :class="navBarFixed == true ? 'navBarWrap' :''" :style="style">

Vue中data内容:

data() {return {navBarFixed: false,style: {},opacity: 0,}}

Vue中方法

methods: {watchScroll() {//滚动距离var scrollTop =window.pageYOffset ||document.documentElement.scrollTop ||document.body.scrollTop;// 当导航栏滚动距离大于头部图片高度实现吸顶效果if (scrollTop > 799 ) {//为导航栏加上navBarFixed类,实现透明度随滚动改变,并且吸顶改变导航栏样式this.navBarFixed = true;this.opacity = Math.abs(Math.round(scrollTop)) / 3300;this.style = {background: `linear-gradient(to right,green,rgba(26, 212, 115,${this.opacity})`} } else {this.navBarFixed = false;this.style='';}},

添加监听事件,监听滚动距离

mounted() {window.addEventListener("scroll", this.watchScroll);},

记得跳转页面销毁监听事件,否则会影响其他页面

beforeRouteLeave(to, from, next) {window.removeEventListener('scroll', this.watchScroll);next();},

本内容不代表本网观点和政治立场,如有侵犯你的权益请联系我们处理。
网友评论
网友评论仅供其表达个人看法,并不表明网站立场。