Предпросмотр изображений в списке комментариев
Меньше 1 минуты...
Существует немало плагинов, реализующих эффект лайтбокса. Вот некоторые из них:
LightGallery
Добавьте приведённый ниже код перед тегом <head> в HTML; #waline-comment — это контейнер комментариев Waline, при необходимости замените селектор в соответствии с реальной разметкой.
<link rel="stylesheet" href="https://unpkg.com/lightgallery@v2/css/lightgallery-bundle.css" />
<srciprt src="https://unpkg.com/lightgallery@v2/lightgallery.umd.min.js" />
<script>
document.addEventListener('click', (e) => {
const images = [].slice
.call(document.querySelectorAll('#waline-comment .vcontent img'))
.filter((img) => img.width > 20);
if (images.indexOf(e.target) === -1) {
return;
}
if (!e.target.gallery) {
e.target.gallery = window.lightGallery(e.target.parentNode);
}
e.target.gallery.openGallery(0);
});
</script>Lightbox2
Добавьте приведённый ниже код перед тегом <head> в HTML; #waline-comment — это контейнер комментариев Waline, при необходимости замените селектор в соответствии с реальной разметкой.
<link rel="stylesheet" href="https://unpkg.com/lightbox2@v2/dist/css/lightbox.min.css" />
<script src="https://unpkg.com/lightbox2@v2/dist/js/lightbox-plus-jquery.min.js"></script>
<script>
document.addEventListener('click', (e) => {
const lightbox = new Lightbox();
const images = [].slice
.call(document.querySelectorAll('#waline-comment .vcontent img'))
.filter((img) => img.width > 20);
if (images.indexOf(e.target) === -1) {
return;
}
const $link = $('<a />', {
href: e.target.src,
'data-title': e.target.alt,
rel: 'lightbox',
});
lightbox.start($link);
});
</script>Fancybox
Добавьте приведённый ниже код перед тегом <head> в HTML; #waline-comment — это контейнер комментариев Waline, при необходимости замените селектор в соответствии с реальной разметкой.
<script src="https://unpkg.com/@fancyapps/ui/dist/fancybox.umd.js"></script>
<link rel="stylesheet" href="https://unpkg.com/@fancyapps/ui/dist/fancybox.css" />
<script>
Fancybox.bind('#waline-comment .vcontent img');
</script>TIPS: Область комментариев предназначена только для демонстрации. Если у вас есть вопросы, пожалуйста, перейдите на Github Discussion чтобы задать их.
