要处理 jQuery Fancybox 中图像加载,您可以使用 beforeLoad
和 afterLoad
事件
<!DOCTYPE html>
<html lang="en">
<head>
<meta charset="UTF-8">
<meta name="viewport" content="width=device-width, initial-scale=1.0">
<title>jQuery Fancybox</title>
<!-- 引入 jQuery -->
<script src="https://code.jquery.com/jquery-3.6.0.min.js"></script>
<!-- 引入 Fancybox CSS -->
<link rel="stylesheet" href="https://cdnjs.cloudflare.com/ajax/libs/fancybox/3.5.7/jquery.fancybox.min.css" />
<!-- 引入 Fancybox JS -->
<script src="https://cdnjs.cloudflare.com/ajax/libs/fancybox/3.5.7/jquery.fancybox.min.js"></script>
</head>
<body>
<!-- 您的内容 -->
</body>
</html>
<a>
标签,并为其添加一个特定的类(例如 fancybox
):<a href="path/to/your/image.jpg" class="fancybox">
<img src="path/to/your/thumbnail.jpg" alt="Image description">
</a>
.fancybox
类的元素,然后使用 beforeLoad
和 afterLoad
事件监听器:$(document).ready(function() {
$('.fancybox').fancybox({
beforeLoad: function(e, instance, slide) {
// 在这里可以自定义图像加载前的行为
console.log('Image before load');
},
afterLoad: function(e, instance, slide) {
// 在这里可以自定义图像加载后的行为
console.log('Image after load');
}
});
});
现在,每当您点击具有 .fancybox
类的元素时,Fancybox 都会打开,并在加载图像之前和之后触发 beforeLoad
和 afterLoad
事件。您可以在这些事件回调函数中执行所需的操作,例如显示加载动画、处理错误或者预加载图像等。