uniapp首页搜索框滚动到导航栏效果

uniapp首页搜索框滚动到导航栏效果

<template>
	<view class="u-rela">
		<u-navbar :is-back="false"  title=" " :border-bottom="false"  :background="{backgroundImage: BackNavColor}"></u-navbar>
		<view class="content">
			<image src="https://jiuyi-resource.oss-cn-beijing.aliyuncs.com/icon/wechatApplet/indexBG.png" style="width: 750rpx;height: 423rpx;"></image>
		</view>
		<view class="u-rela">
			<view class="search u-flex u-p-l-20 u-font-28" :style="{ top: statusBarHeight + 6 + 'px',width: searchWidth + 'rpx' }">请输入关键词</view>
			<view class="u-p-20">
				<view class="u-m-b-10" v-for="(item,index) in 100" :key="index">
					搜索框动画
				</view>
			</view>
		</view>
		
	</view>
</template>

<script>
	let systemInfo = uni.getSystemInfoSync();
	export default {
		data() {
			return {
				BackNavColor: 'transparent',
				statusBarHeight: systemInfo.statusBarHeight,
				searchWidth: 710
			}
		},
		onPageScroll: function(e) {
			let scrollTop = parseInt(e.scrollTop); //滚动条距离顶部高度
			if (scrollTop > 0) {
				this.searchWidth =  scrollTop < 50 ? 710 - (Number(scrollTop) * 4.5) : scrollTop > 50 ? 710 - 50 * 4.5 : this.searchWidth
				this.BackNavColor = `linear-gradient(90deg, rgba(67,134,240,${Number(scrollTop)/10}), rgba(137,162,227,${Number(scrollTop)/10}))`
			}
			if (scrollTop == 0) {
				this.searchWidth = ''
				this.BackNavColor = 'transparent'
			}
		},
		methods: {}
	}
</script>

<style lang="scss">
.content{ position: fixed; width: 100%; top: 0; }
.index2{ z-index: 2; }
.search{ background: #ffffff; height: 60rpx; border-radius: 30px; margin: 0 20rpx; position: relative; z-index: 999; position: sticky; color: #999999;}
</style>

效果展示
在这里插入图片描述

  • 9
    点赞
  • 12
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值