Перелистывание мышью

Почему мышь мерцает с этими заданными событиями?

Я пробовал следующий код

const headerTags1 = document.querySelector('h1');
headerTags1.addEventListener('mouseenter', function(event){
event.target.style.display = "none";
})
console.info(headerTags1)

const headerTags2 = document.querySelector('h1');
headerTags2.addEventListener('mouseleave', function(event){
event.target.style.display = "initial";
})
console.info(headerTags2)

Без минимальный воспроизводимый пример, чтобы увидеть проблему, мы не можем помочь.

j08691 29.05.2019 22:52
Поведение ключевого слова "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
1
32
2
Перейти к ответу Данный вопрос помечен как решенный

Ответы 2

Это происходит потому, что, как только вы наводите курсор на h1, он скрывается, и поскольку он теперь скрыт, вы больше не наводите на него указатель мыши и mouseleave срабатывает, поэтому он отображается, но затем вы наводите на него курсор, поэтому он скрывается, и скоро.

const headerTags1 = document.querySelector('h1');
headerTags1.addEventListener('mouseenter', function(event){
event.target.style.display = "none";
})
console.info(headerTags1)

const headerTags2 = document.querySelector('h1');
headerTags2.addEventListener('mouseleave', function(event){
event.target.style.display = "initial";
})
console.info(headerTags2)
<h1>Now you see me...</h1>

Это, конечно, не самое удачное дизайнерское решение. Чего вы действительно пытаетесь достичь?

Обновлено:

Just want to have the button disappear and reappear when it's hovered over or better yet just change colors when it's hovered over...

Тогда лучшим подходом было бы просто использовать CSS :hover псевдокласс для изменения стиля элемента только во время его наведения.

<!doctype html>
<html>
<head>
  <title>Page Title Here</title>
  <style>
    h1:hover { opacity:0; }
    button:hover { color:red; background-color:#ff0; }  
  </style>
</head>
<body>

  <h1>Now you see me...</h1>
  <button>Hover Over Me</button>
  
</body>
</html>

Просто хочу, чтобы кнопка исчезала и снова появлялась при наведении курсора или, что еще лучше, просто меняла цвета при наведении курсора...

Jonaahfire 29.05.2019 23:01

Хорошо, Скотт, я переместил опцию наведения в свою навигацию, я знаю, что это неправильно, но я не знаю, как правильно это настроить...

Jonaahfire 29.05.2019 23:15

const homeNavLink = document.querySelector('.nav a'); homeNavLink.addEventListener («наведение», функция (событие) { h1: наведение = цвет красный; кнопка: наведение = цвет фона: # ff0; }) @ScottMarcus

Jonaahfire 29.05.2019 23:16

@Jonaahfire Нет, ты неправильно понял. JavaScript вообще не нужен в моем примере. Просто CSS. Вы помещаете CSS внутри элемента <style>, и этот элемент помещается в элемент <head> документа. Нет JavaScript. Я обновлю ответ, чтобы показать, как будет выглядеть полная структура документа.

Scott Marcus 29.05.2019 23:51
Ответ принят как подходящий

Скотт Маркус дал отличное объяснение мерцанию.

В качестве альтернативы вы можете использовать свойство непрозрачности стиля. Но элемент по-прежнему будет кликабельным.

const headerTags = document.querySelector('h1');

headerTags.addEventListener('mouseenter', function(event){
  event.target.style.opacity = 0;
})

headerTags.addEventListener('mouseleave', function(event){
  event.target.style.opacity = 1;
})
<h1>Now you see me...</h1>

@Jonaahfire Смотрите мой ответ о том, как сделать это вообще без JavaScript.

Scott Marcus 29.05.2019 23:06

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