javascript - setTimeout() 返回未捕获的类型错误
问题描述
我正在设置以下.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
我希望在效果发生之前实施 a before thesetTimeout()
给fadeTo()
一些。ms
:hover
我在这里想念什么?在此先感谢您的时间。
解决方案
试试这个:
$(".portfolio_overlay").hover(function(){
var that = $(this);
setTimeout(function(){
that.fadeTo(750, 0.2, "swing", function(){});
});
});
见此笔。以前你试图this
在不同的闭包中访问,所以它不是this
你期望得到的。
推荐阅读
- android - 如何使用 WebView Android 接收正文响应
- reactjs - ReactTestUtils.Simulate.mouseDown
- powerbi - 尝试根据单元格填充列的一部分
- css - 类型'string |上不存在属性按钮基本 数字'
- json - Facebook Pixel 脚本覆盖全局 JSON
- python - 在 python 中需要帮助“导入随机”
- javascript - 如何绕过 xss 客户端过滤器
- uml - 如何为同一用例创建具有多个选项的 UML 用例图?
- google-cloud-trace - GCP Cloud trace/Opentelemetry/Koa 没有按我预期的那样工作
- vb.net - 使用 DragDrop VB.Net 复制文件