vue3卡片滑块


<template>
  <div class="card">
    <img  ref="data" class='data1' src="@/img/data1.jpg" alt="" />

<transition name="texta">
    <p v-if="text">隐藏的文字</p>
</transition>
  </div>
  <button @click="up">page2</button>
  <router-view/>
</template>

<style scoped>
.texta-enter-active,
.texta-leave-active{
  transition: opacity 1s ease;

}
.text-enter-from,
.text-leave-to {
    opacity: 0;
  transform: translateX(30px);

}
.card{
  height: 400px;
  width: 300px;
  box-shadow: 0 4px 8px 0 rgba(0,0,0,0.2),0 6px 20px 0 rgba(0,0,0,0.19);
  position: relative;
}
.data1{
  height: 200px;
  width: 300px;
  position: absolute;
  top:0;
  transition: 2s;
}
p{
  margin:0;

}
</style>
<script setup lang="ts">
import {onMounted, ref,provide} from "vue";
import {useRouter} from "vue-router";
const router=new useRouter()
const data=ref(null)
const text=ref(false)
let k=0;
onMounted(()=>{
  let imgs=data.value

  imgs.addEventListener('mouseenter',function ab(){
    if(k==0){
  imgs.style.top="50%"
      text.value=true
      k=1
      console.log(text.value)
    }
   else if(k==1){
      imgs.style.top="0"
      text.value=false
      k=0
      console.log(text.value)
    }
  })
})
provide('ly','21')
const  up=()=>{
  router.push({
    path:'/page3/page2'
  })
}
</script>

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值