【发布时间】:2011-12-22 22:08:40
【问题描述】:
我想在此工具提示代码中添加一个超时,以便它仅在鼠标悬停在它上面一段时间而不是立即显示时才显示...我尝试添加 setTimeout() 但我不知道如何使用clearTimeout() 所以工具提示不会在鼠标移出时隐藏。你能帮忙吗?
// -----------------------------------------------
// TOOLTIP MOUSE HOVER
// -----------------------------------------------
function mcTooltip() {
$('.mcTxb').mousemove(function(e) {
var mcHoverText = $(this).attr('alt');
var mcTooltip = $('.mcTooltip');
$(mcTooltip).text(mcHoverText).show('fast');
$(mcTooltip).css('top', e.clientY + 10).css('left', e.clientX + 10);
}).mouseout(function() {
var mcTooltip = $('.mcTooltip');
$(mcTooltip).hide('fast');
});
}
mcTooltip();
我试过了:
// -----------------------------------------------
// TOOLTIP MOUSE HOVER
// -----------------------------------------------
function mcTooltip() {
$('.mcTxb').mousemove(function(e) {
var mcHoverText = $(this).attr('alt');
var mcTooltip = $('.mcTooltip');
setTimeOut(function(){
$(mcTooltip).text(mcHoverText).show('fast');
}, 300);
$(mcTooltip).css('top', e.clientY + 10).css('left', e.clientX + 10);
}).mouseout(function() {
var mcTooltip = $('.mcTooltip');
$(mcTooltip).hide('fast');
});
}
mcTooltip();
【问题讨论】:
-
为什么不直接删除“mouseout”回调?
-
向我们展示您尝试使用
setTimeout/clearTimeout。
标签: jquery settimeout