实现点击开屏效果,类似于上下方向的开关门,

25 篇文章 1 订阅
文章介绍了如何使用Vue.js和CSS实现页面加载时的开屏动画效果,当用户点击图片时,顶部和底部图片会相应地向上或向下收起。同时,通过JavaScript方法控制动画的显示和隐藏以及TabBar的切换。
摘要由CSDN通过智能技术生成

开屏动画效果:
进入页面后 openShow组件会完全遮挡内容区域,当点击中间的图片后,实现顶部图片向上收起,底部图片向下收起的效果。

<template>
	<view class="index">
		<view class="content">
			<!-- 首页内容-->
		</view>
		
		<!-- 开屏动画覆盖在首页内容上方 -->
		<view class="openShow" v-if="openShow">
			<view class="image top_img" :class="{ 'expanded1': openImgShow }"></view>
			<image src="../../static/img/3.png" mode="" class="open" @click="open" v-if="!openImgShow"></image>
			<view class="image bom_img" :class="{ 'expanded2': openImgShow }"></view>
		</view>
	</view>
</template>

<script>
	export default {
		data() {
			return {
				openShow:true,
				openImgShow: false,
			}
		},
		onLoad() {
			uni.hideTabBar(); //隐藏tabbar
		},
		methods: {
			open(){
				this.openImgShow = !this.openImgShow;
				setTimeout(()=>{
					uni.showTabBar(); //显示tabbar
					this.openShow = false
				},1000)
			}
		}
	}
</script>
<style scoped lang="scss">
	// 开屏动画
	.openShow {
		position: fixed;
		left: 0;
		top: 0;
		width: 750rpx;
		height: 100vh;
		z-index: 99;
		overflow: hidden;
		.open{
			position: absolute;
			left: 50%;
			top: 50%;
			z-index: 99;
			width: 400rpx;
			height: 400rpx;
			margin-left: -200rpx;
			margin-top: -200rpx;
		}
		.image {
			position: absolute;
			width: 710rpx;
			height: 50%;
			transition: all 1s;
			left: 20rpx;
		}
		
		.top_img {
			width: 710rpx;
			top: 0;
			background-image: url('../../static/img/1.png');
			background-size: cover;
		}
		
		.bom_img {
			width: 710rpx;
			bottom: 0;
			background-image: url('../../static/img/2.png');
			background-size:cover;
		}
		
		.expanded1 {
			transform: translateY(-100%);
		}
		
		.expanded2 {
			transform: translateY(100%);
		}
	}
</style>
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值