Немає опису редагування
Немає опису редагування
Рядок 104: Рядок 104:


// Для всех полноразмерных изображений
// Для всех полноразмерных изображений
document.querySelectorAll('img').forEach(img => {
    img.addEventListener('click', e => {
        e.preventDefault();


(function() {
    // Функция для создания overlay с кнопкой закрыть
    function showOverlay(url) {
         // Создаём overlay
         // Создаём overlay
         const overlay = document.createElement('div');
         const overlay = document.createElement('div');
Рядок 117: Рядок 117:
         overlay.style.background = 'rgba(0,0,0,0.85)';
         overlay.style.background = 'rgba(0,0,0,0.85)';
         overlay.style.display = 'flex';
         overlay.style.display = 'flex';
        overlay.style.flexDirection = 'column';
         overlay.style.justifyContent = 'center';
         overlay.style.justifyContent = 'center';
         overlay.style.alignItems = 'center';
         overlay.style.alignItems = 'center';
        overlay.style.flexDirection = 'column';
         overlay.style.zIndex = 9999;
         overlay.style.zIndex = 9999;


         // Картинка
         // Картинка
         const fullImg = document.createElement('img');
         const img = document.createElement('img');
         fullImg.src = img.src;
         img.src = url;
         fullImg.style.maxWidth = '90%';
         img.style.maxWidth = '90%';
         fullImg.style.maxHeight = '90%';
         img.style.maxHeight = '90%';
         overlay.appendChild(fullImg);
         overlay.appendChild(img);


         // Кнопка закрыть
         // Кнопка закрыть
Рядок 136: Рядок 136:
         closeBtn.style.fontSize = '18px';
         closeBtn.style.fontSize = '18px';
         closeBtn.style.cursor = 'pointer';
         closeBtn.style.cursor = 'pointer';
        closeBtn.style.background = '#f44336';
        closeBtn.style.color = 'white';
        closeBtn.style.border = 'none';
        closeBtn.style.borderRadius = '5px';
         closeBtn.addEventListener('click', () => overlay.remove());
         closeBtn.addEventListener('click', () => overlay.remove());
         overlay.appendChild(closeBtn);
         overlay.appendChild(closeBtn);


         document.body.appendChild(overlay);
         document.body.appendChild(overlay);
     });
     }
});
 
    // Перехватываем клики на все <img>
    document.body.addEventListener('click', function(e) {
        const target = e.target;
        if (target.tagName === 'IMG') {
            e.preventDefault();
            e.stopPropagation();
            showOverlay(target.src);
        }
 
        // Перехватываем клики на ссылки к файлам MediaWiki
        if (target.tagName === 'A' && target.href && target.href.includes('/w/images/')) {
            e.preventDefault();
            e.stopPropagation();
            showOverlay(target.href);
        }
    }, true); // Используем capture, чтобы ловить раньше стандартного обработчика
})();