js a标签绑定click函数,点击a标签弹窗图片的放大预览
时间: 2023-12-23 08:06:22 浏览: 83
好的,可以使用以下代码实现:
HTML代码:
```html
<a href="path/to/image.jpg" class="preview-link">点击预览图片</a>
```
JavaScript代码:
```javascript
// 获取所有的预览链接
const previewLinks = document.querySelectorAll('.preview-link');
// 给每个预览链接绑定点击事件
previewLinks.forEach(link => {
link.addEventListener('click', function(e) {
e.preventDefault(); // 阻止默认的链接跳转行为
const imgSrc = this.getAttribute('href'); // 获取图片路径
// 创建图片元素
const img = document.createElement('img');
img.src = imgSrc;
img.style.maxWidth = '90%';
img.style.maxHeight = '90%';
img.style.display = 'block';
img.style.margin = 'auto';
// 创建遮罩层
const mask = document.createElement('div');
mask.style.position = 'fixed';
mask.style.top = 0;
mask.style.left = 0;
mask.style.width = '100%';
mask.style.height = '100%';
mask.style.backgroundColor = 'rgba(0, 0, 0, 0.5)';
mask.style.display = 'flex';
mask.style.justifyContent = 'center';
mask.style.alignItems = 'center';
// 将图片元素添加到遮罩层中
mask.appendChild(img);
// 将遮罩层添加到文档中
document.body.appendChild(mask);
// 点击遮罩层关闭预览
mask.addEventListener('click', function() {
document.body.removeChild(mask);
});
});
});
```
这段代码会找到所有带有 `preview-link` 类名的链接元素,并且给它们绑定点击事件。当用户点击链接时,会创建一个遮罩层和一个图片元素,将图片添加到遮罩层中,并且将遮罩层添加到文档中。用户点击遮罩层时,遮罩层会被移除,预览结束。
阅读全文