setTimeout () возвращает Uncaught TypeError - PullRequest
0 голосов
/ 20 декабря 2018

Я настраиваю следующую .hover() функцию.

$(".portfolio_overlay").hover(function(){
 setTimeout(function(){
  $(this).fadeTo(750, 0.72, "swing", function(){});
 });
});

Консоль выдает следующую ошибку:

Uncaught TypeError: Cannot read property 'display' of undefined
at ae (jquery-3.3.1.min.js:2)
at jquery-3.3.1.min.js:2
at Function.grep (jquery-3.3.1.min.js:2)
at j (jquery-3.3.1.min.js:2)
at w.fn.init.filter (jquery-3.3.1.min.js:2)
at w.fn.init.fadeTo (jquery-3.3.1.min.js:2)
at work.js:51

Я ожидаю реализовать setTimeout() доfadeTo() дать несколько ms до того, как произойдет эффект :hover.

Что мне здесь не хватает?Заранее спасибо за ваше время.

1 Ответ

0 голосов
/ 20 декабря 2018

Попробуйте это:

$(".portfolio_overlay").hover(function(){
  var that = $(this);
  setTimeout(function(){
    that.fadeTo(750, 0.2, "swing", function(){});
  });
});

См. Это ручка .Ранее вы пытались получить доступ к this в другом закрытии, поэтому это не тот this, который вы ожидали получить.

...