
/* 弹窗样式保持不变 */
.modal {
display: none;
position: fixed;
top: 0;
left: 0;
width: 100%;
height: 100%;
background: rgba(0,0,0,0.85);
z-index: 9999;
padding: 20px;
box-sizing: border-box;
}
.modal.active {
display: block;
}
.modal-content {
width: 100%;
height: 100%;
position: relative;
}
.close-btn {
position: absolute;
/* top: -40px;*/
right: 0;
color: white;
font-size: 28px;
cursor: pointer;
width: 36px;
height: 36px;
background: #333;
border-radius: 50%;
display: flex;
align-items: center;
justify-content: center;
}
#catalog-iframe {
width: 100%;
height: 100%;
border: none;
background: white;
border-radius: 8px;
}
/* 图片悬停效果(针对祖父级带ImgEcatalog类的结构) */
.ImgEcatalog img {
cursor: pointer;
transition: transform 0.3s;
}
.ImgEcatalog:hover img {
transform: scale(1.03);
} window.addEventListener('load', function() {
// 关键:直接选中所有带ImgEcatalog类的祖父级DIV
const grandparentDivs = document.querySelectorAll('.ImgEcatalog');
const catalogLinks = [];
grandparentDivs.forEach(grandparent => {
// 从祖父级DIV中查找嵌套的a标签(无论中间隔多少层)
const link = grandparent.querySelector('a');
if (link) {
catalogLinks.push(link);
// 强制移除target属性,阻止新标签页打开
link.removeAttribute('target');
// 双重保障:即使有其他脚本添加target,也强制覆盖
link.target = '_self';
}
});
// 绑定点击事件,拦截跳转
catalogLinks.forEach(link => {
link.addEventListener('click', function(e) {
// 彻底阻止默认行为
e.preventDefault();
e.stopPropagation();
// 获取目录册链接
const src = this.getAttribute('href');
if (src) {
document.getElementById('catalog-iframe').src = src;
document.querySelector('.modal').classList.add('active');
document.body.style.overflow = 'hidden';
}
});
});
// 关闭弹窗逻辑
document.querySelector('.close-btn').addEventListener('click', function() {
const modal = document.querySelector('.modal');
modal.classList.remove('active');
document.getElementById('catalog-iframe').src = '';
document.body.style.overflow = '';
});
document.querySelector('.modal').addEventListener('click', function(e) {
if (e.target === this) {
this.classList.remove('active');
document.getElementById('catalog-iframe').src = '';
document.body.style.overflow = '';
}
});
});
×
Views: 375
