前端学习日记---图片随鼠标移动放大效果

本文介绍了如何在Vue应用中使用VueUse库的useMouseInElement方法监听鼠标在元素内的位置,并基于此实时调整蒙版虚影的位置,以优化界面效果。通过watch监听器和计算图片移动规则,确保蒙版跟随鼠标在大正方形内的移动同步变化。
摘要由CSDN通过智能技术生成

效果如图:

使用插件VueUse中的useMouseInElement()方法来监听鼠标移动 ,括号里面为响应式对象,代码如下:

const target = ref(null) //用来绑定对应组件而定义的响应式对象

//获取对应鼠标在元素内的位置,以及鼠标是否在元素外

const { elementX, elementY, isOutside } = useMouseInElement(target)

注意:elementX, elementY, isOutside这三个属性皆为响应式属性对象,下方watch进行监听,直接写属性名就行。

为(鼠标在元素中的x,y坐标,鼠标是否在元素内部)

后续对其进行监听操作

//蒙版虚影小正方形在元素里的位置

const left = ref(0)

const top = ref(0)

/大正方形中的背景图移动的x,y位置

const positionX = ref(0)

const positionY = ref(0)

//监听鼠标移动位置

watch([elementX, elementY, isOutside], () => {

if(!isOutside.value){

    return

  }//此处需对鼠标是否在元素内进行判断,进而达到优化界面的效果,防止持续监听

此处需要个人对图片移动进行计算,来控制蒙蔽虚影小正方形在图片中的移动规则

*************

*****************

上方写蒙版小正方形在图片中的移动规则

positionX.value=-left.value*2//注意大正方形的图片移动方向是与鼠标在中正方形中移动方向相反所以取负,且放大倍数是2倍,所以要*2

  positionY.value=-top.value*2

})

记得最后需要在<template>中对蒙版小正方形和放大效果的大正方形用v-show:“!isOutside”来控制显示

评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值