我正在设置以下.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
效果发生了。
我在这里缺少什么? 预先感谢您的宝贵时间。
最佳答案
试试这个:
$(".portfolio_overlay").hover(function(){
var that = $(this);
setTimeout(function(){
that.fadeTo(750, 0.2, "swing", function(){});
});
});
查看此pen 。之前您尝试在不同的闭包中访问 this
,因此它不是您期望获得的 this
。
关于javascript - setTimeout() 返回未捕获的类型错误,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/53875829/