Приветствую! Ошибка `Uncaught ReferenceError: block is not defined` говорит о том, что в вашем коде используется переменная `block`, которая не была объявлена. Скорее всего, это происходит потому, что вы пытаетесь обратиться к переменной до того, как она была определена, или из-за опечатки в имени переменной.
Чтобы разобраться в проблеме, я предлагаю рассмотреть следующие шаги:
1. Убедитесь, что скрипт загружается после того, как DOM полностью построен. Вы можете использовать `DOMContentLoaded` или поместить ваш скрипт внизу тела страницы (`body`) чтобы быть уверенным в том, что все элементы загружены.
2. Убедитесь, что вы корректно добавили свой скрипт на платформу Tilda. В Tilda для добавления пользовательских скриптов обычно используется специальный блок «HTML-код» или настройки страницы/сайта, где можно вставить код JavaScript.
3. Проверьте синтаксис вашего кода. Иногда достаточно одной опечатки, чтобы скрипт перестал работать.
Для решения вашей задачи с переносом кнопки закрытия попапа над изображением, после того как изображение в попапе было открыто, ваш код может выглядеть примерно так:
```javascript
document.addEventListener('click', function(e) {
if (e.target.classList.contains('t603__blockimg')) {
// Здесь код, который будет вызываться при клике на элемент с классом t603__blockimg
// Вы можете использовать setTimeout, чтобы задержать выполнение кода, пока попап полностью не откроется
setTimeout(function(){
var closeButton = document.querySelector('.t-zoomer__close');
if (closeButton) {
var popupImg = document.querySelector('.t-carousel__zoomer__img');
var popupWrapper = document.querySelector('.t-carousel__zoomer__wrapper');
if(popupImg && popupWrapper){
// Переносим кнопку закрытия
popupWrapper.insertBefore(closeButton, popupImg);
}
}
}, 500); // Задержка в 500 миллисекунд (подберите требуемое время)
}
});
```
Обратите внимание на следующее:
- В коде используется `addEventListener` для отслеживания кликов по странице.
- Код проверяет, содержит ли элемент, по которому был сделан клик, класс `t603__blockimg`.
- Перемещение элемента `.t-zoomer__close` осуществляется с помощью `insertBefore`.
Если этот код не работает, убедитесь, что селекторы (`querySelector`) соответствуют классам элементов в вашей галерее и что они корректно идентифицируют элементы в DOM.
Если проблема не в этом, то возможна проблема с конкретными особенностями платформы Tilda, и одним из решений может быть обращение в поддержку Tilda за более специфической помощью.