Как убрать изображение при наведении курсора в коде Wix?

Какой код нужен в Wix, чтобы изображение исчезло из поля зрения, когда указатель мыши находится над изображением, и исчезло из поля зрения, когда указатель мыши не наведен на изображение?

Я пробовал использовать этот код (и другие похожие), но он не работает:

export function image4_mouseIn(event) {
  $w.onReady(function () {
   $w('#image4').onMouseIn( (Event) => {
    let fadeOptions = {
        "duration":   500,
        "delay":      500
    };

    $w("#image4").hide("fade", fadeOptions);
  } );
 });
}

export function image4_mouseOut(event) {
 $w.onReady(function () {
  $w('#image4').onMouseOut( (Event) => {
    let fadeOptions = {
        "duration":   500,
        "delay":      500
    };

    $w("#image4").show("fade", fadeOptions);
  } );
 }); 
}
Поведение ключевого слова "this" в стрелочной функции в сравнении с нормальной функцией
Поведение ключевого слова "this" в стрелочной функции в сравнении с нормальной функцией
В JavaScript одним из самых запутанных понятий является поведение ключевого слова "this" в стрелочной и обычной функциях.
Концепция локализации и ее применение в приложениях React ⚡️
Концепция локализации и ее применение в приложениях React ⚡️
Локализация - это процесс адаптации приложения к различным языкам и культурным требованиям. Это позволяет пользователям получить опыт, соответствующий...
Улучшение производительности загрузки с помощью Google Tag Manager и атрибута Defer
Улучшение производительности загрузки с помощью Google Tag Manager и атрибута Defer
В настоящее время производительность загрузки веб-сайта имеет решающее значение не только для удобства пользователей, но и для ранжирования в...
Безумие обратных вызовов в javascript [JS]
Безумие обратных вызовов в javascript [JS]
Здравствуйте! Юный падаван 🚀. Присоединяйся ко мне, чтобы разобраться в одной из самых запутанных концепций, когда вы начинаете изучать мир...
Система управления парковками с использованием HTML, CSS и JavaScript
Система управления парковками с использованием HTML, CSS и JavaScript
Веб-сайт по управлению парковками был создан с использованием HTML, CSS и JavaScript. Это простой сайт, ничего вычурного. Основная цель -...
JavaScript Вопросы с множественным выбором и ответы
JavaScript Вопросы с множественным выбором и ответы
Если вы ищете платформу, которая предоставляет вам бесплатный тест JavaScript MCQ (Multiple Choice Questions With Answers) для оценки ваших знаний,...
0
0
1 242
3
Перейти к ответу Данный вопрос помечен как решенный

Ответы 3

Вы почти правильно поняли. В коде вашей страницы должно быть следующее:

$w.onReady(function () {
   let fadeOptions = {
        "duration":   500,
        "delay":      500
    };      
    $w('#image4').onMouseOut( (Event) => {
      $w('#image4').show('fade', fadeOptions);
    } );
    $w('#image4').onMouseIn( (Event) => {
      $w('#image4').hide('fade', fadeOptions);
    } );
 }); 

Я понимаю, что вы делаете с этим кодом (логически выглядит неплохо), но у меня он не сработал. Тем не менее, большое спасибо за помощь!

Donnie Goode 19.12.2018 16:07
Ответ принят как подходящий

С вашим кодом есть пара проблем:

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);
}

Этот код отлично работает! Спасибо за помощь!

Donnie Goode 19.12.2018 16:09

Идеально работает Попробуйте это

$w.onReady(function () {
   let fadeOptions = {
        "duration":   500,
        "delay":      500
    };      
    $w('#image4').onMouseOut( (Event) => {
      $w('#image4').show('fade', fadeOptions);
    } );
    $w('#image4').onMouseIn( (Event) => {
      $w('#image4').hide('fade', fadeOptions);
    } );
 }); 

Другие вопросы по теме