преобразование jQuery в Vanilla JS - PullRequest
0 голосов
/ 28 мая 2020

Мне нужна помощь в преобразовании этого jQuery в чистый JavaScript. Это последний, который мне нужно преобразовать, чтобы я мог полностью удалить jQuery из своего проекта.

function hoverFunc(e) {
  gsap.to(ball, {duration: 0.3, opacity: 1, scale: 0});
  gsap.to(ball, {duration: 0.3, scale: 0.5});
}

function unhoverFunc(e) {
  gsap.to(ball, {duration: 0.3, opacity: 1, scale: 1});
  gsap.to(ball, {duration: 0.3, scale: 1});
}

$("a").hover(hoverFunc, unhoverFunc);

Ответы [ 3 ]

4 голосов
/ 28 мая 2020

Вы можете использовать querySelectorAll и addEventListener для наведения указателя мыши / выхода мыши как

 var atags= document.querySelectorAll('a');

    atags.forEach(function(a) {
      a.addEventListener('mouseover', hoverFunc);
      a.addEventListener('mouseleave', unhoverFunc);
    })
1 голос
/ 28 мая 2020

Просто хотел проиллюстрировать пример Хиена встроенным примером кода, чтобы вы могли запустить приведенный ниже фрагмент кода и увидеть, как он работает. Здесь я добавил 3 ссылки, а функция зависания добавляет к ссылке 2 отдельных класса, которые затем удаляются функцией отмены наведения.

var atags= document.querySelectorAll('a');

function hoverFunc(e) {
  e.target.classList.add('hover', 'test')
}
function unhoverFunc(e) {
  e.target.classList.remove('hover', 'test')
}

atags.forEach(function(link) {
  link.addEventListener('mouseover', hoverFunc);
  link.addEventListener('mouseleave', unhoverFunc);
})
a {
  display: inline-block;
  padding: 1rem;
}
a.hover {
  background-color: rebeccapurple;
  color: white;
}
a.test {
  border: 3px solid black;
}
<a href="/">Link 1</a>
<a href="/">Link 2</a>
<a href="/">Link 3</a>
0 голосов
/ 28 мая 2020

Примерно так должно работать

function hoverFunc(e) {
  gsap.to(ball, {duration: 0.3, opacity: 1, scale: 0});
  gsap.to(ball, {duration: 0.3, scale: 0.5});
}

function unhoverFunc(e) {
  gsap.to(ball, {duration: 0.3, opacity: 1, scale: 1});
  gsap.to(ball, {duration: 0.3, scale: 1});
}

var a = documet.getElementsByTagName("a");
for (var i = 0; i < a.length; i++) {
  a[i].mouseover = hover;
  a[i].mouseout = unhover;
}
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...