Есть несколько проблем с вашим кодом:
1) Вы создаете обработчики событий как динамически, так и статически.Технически вы можете использовать оба метода, но не одновременно.
Чтобы сделать это динамически (без регулярного объявления функции):
$w.onReady(function () {
$w('#image4').onMouseIn( (Event) => {
let fadeOptions = {
"duration": 500,
"delay": 500
};
$w("#image4").hide("fade", fadeOptions);
} );
// show function here
} );
Чтобы сделать это статически (без onReady)
export function image4_mouseIn(event) {
let fadeOptions = {
"duration": 500,
"delay": 500
};
$w("#image4").hide("fade", fadeOptions);
}
Примечание. Эту функцию необходимо подключить к кнопке с помощью панели свойств.
2) Вы не можете запустить событие mouseOut для скрытого изображения.Чтобы обойти это, вы можете добавить поле позади изображения (поле может быть прозрачным) и создать обработчик события mouseOut для поля, которое снова показывает изображение.
export function box1_mouseOut(event) {
let fadeOptions = {
"duration": 500,
"delay": 500
};
$w("#image4").show("fade", fadeOptions);
}