[英]Open href image link in a Lightbox
這是我的實際結構
<a class="magnific-popup" href="images/traitements/trait8.webp">
<img class="img-responsive image" src="images/traitements/8.webp" alt="traitement 8">
<div class="middle">
<div class="text">
<img aria-hidden="true" src="images/plus.svg" class="plus-icon">
</div>
</div>
</a>
當我單擊 < a> 時,我希望 href 中的圖像鏈接僅使用 javascript 而不是 jquery 在燈箱中打開。
有什么幫助嗎? :)
所以這是一個多步驟的過程。 您首先需要阻止瀏覽器的默認行為(不打開鏈接),然后您需要創建並插入您的 Lightbox-DOM-Elements(即 Img-tag)到您的頁面中,最后您必須對其進行樣式設置.
首先是js:
//Get all images with the class "magnific-popup"
const allImagesWithLightbox = document.querySelectorAll("a.magnific-popup")
//Do the following for every found image:
Array.from(allImagesWithLightbox).forEach(image => {
let currentImageUrl= image.href;
image.addEventListener("click", (event) => {
event.preventDefault()
let lightbox = document.createElement("div");
let lightboxImage = document.createElement("img");
lightboxImage.src = currentImageUrl;
lightbox.classList.add("lightbox");
lightbox.appendChild(lightboxImage);
document.body.appendChild(lightbox);
})
})
現在我們正在為每個圖像/鏈接創建一個燈箱元素。
您應該使用 css 設置樣式以使其絕對和居中等。
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.