jQuery 图片放大镜特效是一种常见的网页交互功能,它允许用户在查看图片时,通过鼠标悬停在图片上,看到图片的放大效果。这种效果通常用于展示图片的细节。
以下是一个简单的 jQuery 图片放大镜特效的示例代码:
<!DOCTYPE html>
<html lang="en">
<head>
<meta charset="UTF-8">
<meta name="viewport" content="width=device-width, initial-scale=1.0">
<title>jQuery 图片放大镜特效</title>
<style>
#image {
position: relative;
width: 500px;
height: 300px;
}
#magnifier {
position: absolute;
width: 100px;
height: 100px;
border: 2px solid #000;
background-repeat: no-repeat;
display: none;
pointer-events: none;
z-index: 10;
}
</style>
<script src="https://code.jquery.com/jquery-3.6.0.min.js"></script>
</head>
<body>
<div id="image">
<img src="path/to/your/image.jpg" alt="放大镜图片">
<div id="magnifier"></div>
</div>
<script>
$(document).ready(function() {
var $image = $('#image img');
var $magnifier = $('#magnifier');
var magnifierSize = 100;
var zoomLevel = 2;
$image.hover(function(e) {
var offset = $image.offset();
var mouseX = e.pageX - offset.left;
var mouseY = e.pageY - offset.top;
var magnifierX = mouseX - magnifierSize / 2;
var magnifierY = mouseY - magnifierSize / 2;
if (magnifierX < 0) magnifierX = 0;
if (magnifierY < 0) magnifierY = 0;
if (magnifierX + magnifierSize > $image.width()) magnifierX = $image.width() - magnifierSize;
if (magnifierY + magnifierSize > $image.height()) magnifierY = $image.height() - magnifierSize;
$magnifier.css({
left: magnifierX,
top: magnifierY,
display: 'block',
background: 'url(' + $image.attr('src') + ') no-repeat -' + (mouseX * zoomLevel - magnifierSize / 2) + 'px -' + (mouseY * zoomLevel - magnifierSize / 2) + 'px'
});
}, function() {
$magnifier.hide();
});
});
</script>
</body>
</html>
zoomLevel
变量,增加放大倍数。通过以上代码和解释,你应该能够实现一个基本的 jQuery 图片放大镜特效,并根据需要进行调整和优化。
领取专属 10元无门槛券
手把手带您无忧上云