文章同步在公众号:萌萌哒草头将军,欢迎关注
这篇文章是紧接上篇的内容,Vue3如何优雅的加载大量图片🚀🚀🚀
上篇文章,我们只是简单增加了一个渐变的效果。
这篇文章,我分享两个新的动画:
🚀 高斯模糊效果
js
function callback(
entries: IntersectionObserverEntry[],
observer: IntersectionObserver
) {
entries.forEach((entry) => {
if (entry.intersectionRatio <= 0) return;
const img = entry.target as HTMLImageElement;
const src = img.getAttribute("data-src");
img.setAttribute("src", src ?? ""); // 将真实的图片地址赋给 src 属性
img.onload = () => {
img.setAttribute("class", "fade-in");
};
observer.unobserve(img);
});
}
对应的样式
css
@keyframes fadeIn {
from {
filter: blur(10px);
}
to {
filter: blur(0px);
}
}
.fade-in {
animation: fadeIn 0.3s ease-in;
}
效果如下:
🚀 缩放动画
js
img.onload = () => {
img.setAttribute("class", "transform-in");
};
对应的样式
css
@keyframes bounce-in {
0% {
transform: scale(0.8);
}
100% {
transform: scale(1);
opacity: 1;
}
}
.transform-in {
opacity: 0;
animation: bounce-in 0.5s ease-in-out forwards;
}
效果如下
希望这两个新的动画对你有帮助。