js图片跟随鼠标移动效果

2024-06-03 15:04

本文主要是介绍js图片跟随鼠标移动效果,希望对大家解决编程问题提供一定的参考价值,需要的开发者们随着小编来一起学习吧!

js原生代码


要实现图片跟随鼠标移动的效果,可以使用JavaScript原生的mousemove事件以及CSS的transform属性。

HTML代码:

<div id="container"><img id="image" src="path_to_image.jpg" alt="Image">
</div>

CSS代码:

#container {position: relative;width: 400px;height: 400px;
}#image {position: absolute;top: 0;left: 0;transition: transform 0.3s ease-in-out;
}

JavaScript代码:

var container = document.getElementById('container');
var image = document.getElementById('image');container.addEventListener('mousemove', function(event) {var mouseX = event.clientX - container.offsetLeft;var mouseY = event.clientY - container.offsetTop;var imageX = (mouseX / container.offsetWidth) * 20 - 10;var imageY = (mouseY / container.offsetHeight) * 20 - 10;image.style.transform = 'translate(' + imageX + 'px, ' + imageY + 'px)';
});

在以上代码中,我们监听container元素的mousemove事件。当鼠标在container内移动时,获取鼠标相对container的坐标(mouseX和mouseY)。然后,根据container的宽度和高度计算出图片应该移动的距离(imageX和imageY)。最后,使用CSS的transform属性将图片移动到对应的位置上。

注意修改代码中的图像路径(path_to_image.jpg)以适应你的实际需求。此外,你还可以根据需要调整图片的移动范围和速度,这里使用的是一个简单的线性转换,将鼠标坐标映射到-10到10的范围内。

jquery代码

你可以使用jQuery和CSS来实现图片跟随鼠标移动的效果。下面是一个简单的示例:

HTML:

<div class="container"><img src="your-image-url" alt="Image" class="image">
</div>

CSS:

.container {position: relative;width: 500px; /* 容器宽度 */height: 300px; /* 容器高度 */
}.image {position: absolute;top: 0;left: 0;width: 100px; /* 图片宽度 */height: 100px; /* 图片高度 */transition: transform 0.2s ease-out; /* 过渡效果 */
}

JavaScript:

$(document).mousemove(function(e) {var mouseX = e.pageX; // 获取鼠标X坐标var mouseY = e.pageY; // 获取鼠标Y坐标var container = $('.container');var containerX = container.offset().left; // 获取容器左边距离文档的距离var containerY = container.offset().top; // 获取容器上边距离文档的距离var image = $('.image');var imageX = mouseX - containerX - (image.width() / 2); // 计算图片X坐标var imageY = mouseY - containerY - (image.height() / 2); // 计算图片Y坐标image.css('transform', 'translate(' + imageX + 'px, ' + imageY + 'px)'); // 移动图片
});

此代码会使图片在鼠标移动时跟随移动。你只需要将your-image-url替换为你自己的图片链接,并适当调整容器和图片的宽度、高度,就可以实现你想要的效果。

vue代码实现方式

要实现Vue图片跟随鼠标移动的效果,可以通过以下步骤来实现:

  1. 在Vue组件中引入图片:
<template><div><img src="path_to_image" class="image" ref="image" /></div>
</template><style>
.image {position: absolute; /* 设置图片为绝对定位,以便后续移动 */
}
</style>

  1. 在Vue组件的mounted钩子函数中,监听鼠标移动事件,并根据鼠标的坐标来更新图片的位置:
mounted() {this.$refs.image.addEventListener('mousemove', this.moveImage);
},methods: {moveImage(event) {const image = this.$refs.image;const x = event.clientX;const y = event.clientY;// 根据鼠标坐标更新图片位置image.style.left = x + 'px';image.style.top = y + 'px';}
},beforeDestroy() {this.$refs.image.removeEventListener('mousemove', this.moveImage);
}

这样,当鼠标在图片上移动时,图片将会跟随鼠标移动。

这篇关于js图片跟随鼠标移动效果的文章就介绍到这儿,希望我们推荐的文章对编程师们有所帮助!



http://www.chinasem.cn/article/1027324

相关文章

Java使用Spire.Doc for Java实现Word自动化插入图片

《Java使用Spire.DocforJava实现Word自动化插入图片》在日常工作中,Word文档是不可或缺的工具,而图片作为信息传达的重要载体,其在文档中的插入与布局显得尤为关键,下面我们就来... 目录1. Spire.Doc for Java库介绍与安装2. 使用特定的环绕方式插入图片3. 在指定位

使用Python实现在PDF中添加、导入、复制、移动与删除页面

《使用Python实现在PDF中添加、导入、复制、移动与删除页面》在日常办公和自动化任务中,我们经常需要对PDF文件进行页面级的编辑,使用Python,你可以轻松实现这些操作,而无需依赖AdobeAc... 目录1. 向 PDF 添加空白页2. 从另一个 PDF 导入页面3. 删除 PDF 中的页面4. 在

Python多任务爬虫实现爬取图片和GDP数据

《Python多任务爬虫实现爬取图片和GDP数据》本文主要介绍了基于FastAPI开发Web站点的方法,包括搭建Web服务器、处理图片资源、实现多任务爬虫和数据可视化,同时,还简要介绍了Python爬... 目录一. 基于FastAPI之Web站点开发1. 基于FastAPI搭建Web服务器2. Web服务

利用Python将PDF文件转换为PNG图片的代码示例

《利用Python将PDF文件转换为PNG图片的代码示例》在日常工作和开发中,我们经常需要处理各种文档格式,PDF作为一种通用且跨平台的文档格式,被广泛应用于合同、报告、电子书等场景,然而,有时我们需... 目录引言为什么选择 python 进行 PDF 转 PNG?Spire.PDF for Python

通过React实现页面的无限滚动效果

《通过React实现页面的无限滚动效果》今天我们来聊聊无限滚动这个现代Web开发中不可或缺的技术,无论你是刷微博、逛知乎还是看脚本,无限滚动都已经渗透到我们日常的浏览体验中,那么,如何优雅地实现它呢?... 目录1. 早期的解决方案2. 交叉观察者:IntersectionObserver2.1 Inter

JS纯前端实现浏览器语音播报、朗读功能的完整代码

《JS纯前端实现浏览器语音播报、朗读功能的完整代码》在现代互联网的发展中,语音技术正逐渐成为改变用户体验的重要一环,下面:本文主要介绍JS纯前端实现浏览器语音播报、朗读功能的相关资料,文中通过代码... 目录一、朗读单条文本:① 语音自选参数,按钮控制语音:② 效果图:二、朗读多条文本:① 语音有默认值:②

在Node.js中使用.env文件管理环境变量的全过程

《在Node.js中使用.env文件管理环境变量的全过程》Node.js应用程序通常依赖于环境变量来管理敏感信息或配置设置,.env文件已经成为一种流行的本地管理这些变量的方法,本文将探讨.env文件... 目录引言为什么使php用 .env 文件 ?如何在 Node.js 中使用 .env 文件最佳实践引

uni-app小程序项目中实现前端图片压缩实现方式(附详细代码)

《uni-app小程序项目中实现前端图片压缩实现方式(附详细代码)》在uni-app开发中,文件上传和图片处理是很常见的需求,但也经常会遇到各种问题,下面:本文主要介绍uni-app小程序项目中实... 目录方式一:使用<canvas>实现图片压缩(推荐,兼容性好)示例代码(小程序平台):方式二:使用uni

使用Node.js和PostgreSQL构建数据库应用

《使用Node.js和PostgreSQL构建数据库应用》PostgreSQL是一个功能强大的开源关系型数据库,而Node.js是构建高效网络应用的理想平台,结合这两个技术,我们可以创建出色的数据驱动... 目录初始化项目与安装依赖建立数据库连接执行CRUD操作查询数据插入数据更新数据删除数据完整示例与最佳

Android实现图片浏览功能的示例详解(附带源码)

《Android实现图片浏览功能的示例详解(附带源码)》在许多应用中,都需要展示图片并支持用户进行浏览,本文主要为大家介绍了如何通过Android实现图片浏览功能,感兴趣的小伙伴可以跟随小编一起学习一... 目录一、项目背景详细介绍二、项目需求详细介绍三、相关技术详细介绍四、实现思路详细介绍五、完整实现代码