jQuery 图片翻转可以通过 CSS3 的 3D 变换来实现,结合 jQuery 的事件处理,可以创建一个简单的图片翻转效果。以下是一个基础的图片翻转源代码示例:
<!DOCTYPE html>
<html lang="en">
<head>
<meta charset="UTF-8">
<title>Image Flip</title>
<link rel="stylesheet" href="styles.css">
<script src="https://code.jquery.com/jquery-3.6.0.min.js"></script>
<script src="script.js"></script>
</head>
<body>
<div class="flip-container">
<div class="flipper">
<div class="front">
<!-- 正面图片 -->
<img src="front-image.jpg" alt="Front">
</div>
<div class="back">
<!-- 背面图片 -->
<img src="back-image.jpg" alt="Back">
</div>
</div>
</div>
</body>
</html>
/* styles.css */
.flip-container {
perspective: 1000px;
width: 300px;
height: 300px;
margin: 0 auto;
}
.flipper {
position: relative;
width: 100%;
height: 100%;
transform-style: preserve-3d;
transition: transform 0.6s;
}
.flip-container:hover .flipper {
transform: rotateY(180deg);
}
.front, .back {
position: absolute;
width: 100%;
height: 100%;
backface-visibility: hidden;
}
.front img, .back img {
width: 100%;
height: auto;
}
.back {
transform: rotateY(180deg);
}
// script.js
$(document).ready(function() {
$('.flip-container').on('click', function() {
$(this).find('.flipper').toggleClass('flipped');
});
});
.flip-container
。.flip-container
设置了透视效果,使得内部的 3D 变换看起来更自然。.flipper
是实际进行翻转的元素,通过 transform-style: preserve-3d;
保持子元素的 3D 空间位置。.front
和 .back
是正面和背面的图片容器,通过 backface-visibility: hidden;
隐藏翻转时的背面。.flip-container
上时,.flipper
会旋转 180 度显示背面。.flip-container
时,切换 .flipper
的 flipped
类,从而触发翻转效果。transition
属性设置合理的时间值,并且浏览器支持 CSS3 3D 变换。loading="lazy"
属性优化加载性能。这个示例提供了一个基本的图片翻转效果,可以根据具体需求进一步定制和优化。
领取专属 10元无门槛券
手把手带您无忧上云