jQuery 图片跟随鼠标移动是一种常见的前端交互效果,通过监听鼠标移动事件,动态调整图片的位置,使其跟随鼠标指针移动。
以下是一个简单的示例代码,展示如何使用 jQuery 实现图片跟随鼠标移动的效果:
<!DOCTYPE html>
<html lang="en">
<head>
<meta charset="UTF-8">
<meta name="viewport" content="width=device-width, initial-scale=1.0">
<title>Image Follow Mouse</title>
<style>
#followImage {
position: absolute;
width: 50px;
height: 50px;
}
</style>
<script src="https://code.jquery.com/jquery-3.6.0.min.js"></script>
</head>
<body>
<img id="followImage" src="path/to/your/image.png" alt="Follow Me">
<script>
$(document).ready(function() {
$(document).mousemove(function(event) {
var mouseX = event.pageX;
var mouseY = event.pageY;
$('#followImage').css({
left: mouseX - 25, // Adjust based on image width
top: mouseY - 25 // Adjust based on image height
});
});
});
</script>
</body>
</html>
requestAnimationFrame
来优化动画效果,减少不必要的重绘。$(document).ready(function() {
var followImage = $('#followImage');
var mouseX = 0;
var mouseY = 0;
function moveImage() {
followImage.css({
left: mouseX - 25,
top: mouseY - 25
});
requestAnimationFrame(moveImage);
}
$(document).mousemove(function(event) {
mouseX = event.pageX;
mouseY = event.pageY;
});
moveImage();
});
$(document).ready(function() {
var followImage = $('#followImage');
var mouseX = 0;
var mouseY = 0;
var viewportWidth = $(window).width();
var viewportHeight = $(window).height();
var imageWidth = followImage.width();
var imageHeight = followImage.height();
function moveImage() {
var left = mouseX - imageWidth / 2;
var top = mouseY - imageHeight / 2;
if (left < 0) left = 0;
if (top < 0) top = 0;
if (left > viewportWidth - imageWidth) left = viewportWidth - imageWidth;
if (top > viewportHeight - imageHeight) top = viewportHeight - imageHeight;
followImage.css({
left: left,
top: top
});
requestAnimationFrame(moveImage);
}
$(document).mousemove(function(event) {
mouseX = event.pageX;
mouseY = event.pageY;
});
moveImage();
});
通过以上方法,可以有效解决图片跟随鼠标移动过程中可能遇到的问题,确保效果流畅且符合预期。
没有搜到相关的文章