【发布时间】:2016-12-31 21:00:38
【问题描述】:
我有这段代码来显示我创建的工具提示。它会在鼠标悬停 2 秒后显示。
/* Custom Shop Page Toolip */
var timeout;
$('.product-bottom-info-container').hover(
var that = this;
function(e) {
timeout = setTimeout(function() {
that.find('.product-custom-tooltip-container').css({
display: 'inline-block',
position: 'fixed',
zIndex: '5000',
margin: '10px',
whiteSpace: "nowrap"
}).position({
my: "right top",
at: "left bottom",
of: e,
collision: "fit"
});
}, 2000);
},
function() {
clearTimeout(timeout);
that.find('.product-custom-tooltip-container').hide();
}
);
调用setTimeout() 后,我无法再访问$(this),它正在引用.product-bottom-info-container 选择器。
所以我尝试创建一个变量 - var that = $(this) 。我在该行收到一个错误Unexpected token var。
我也试过var that = this,还是不行。
如何在setTimeout() 函数中访问$(this)?
我一直在阅读各种示例,namely this one,它似乎对某些人有用,但对我不起作用。
【问题讨论】:
标签: jquery hover this settimeout