Javascript 当用户移开鼠标时,jQuery会延迟悬停
因此,我试图实现一种弹出式的情况,用户将鼠标悬停在一个元素上,当用户鼠标悬停在这个元素上时,jQuery会向另一个同级元素添加一个类,使其可见。当用户悬停时,我想在类再次被删除之前添加5秒的延迟,但是我的尝试到目前为止还没有成功,有人能给我一个关于我可以使用什么方法的指针吗 下面是我目前使用的代码:Javascript 当用户移开鼠标时,jQuery会延迟悬停,javascript,jquery,jquery-hover,Javascript,Jquery,Jquery Hover,因此,我试图实现一种弹出式的情况,用户将鼠标悬停在一个元素上,当用户鼠标悬停在这个元素上时,jQuery会向另一个同级元素添加一个类,使其可见。当用户悬停时,我想在类再次被删除之前添加5秒的延迟,但是我的尝试到目前为止还没有成功,有人能给我一个关于我可以使用什么方法的指针吗 下面是我目前使用的代码: $('.spaceship-container').hover( function(){ $('.take-me-to-your-newsletter').addClass('show')
$('.spaceship-container').hover(
function(){
$('.take-me-to-your-newsletter').addClass('show')
},
function(){
setTimeout(3000);
$('.take-me-to-your-newsletter').removeClass('show')
}
);
您需要在
setTimeout
的回调中添加removeClass
,如下所示:
$('.spaceship-container').hover(
function(){
$('.take-me-to-your-newsletter').addClass('show')
},
function(){
setTimeout(function(){
$('.take-me-to-your-newsletter').removeClass('show') //here
},3000);
});
因此,一旦3秒时间完成,回调函数中的行将被执行
为您添加一个您需要在
setTimeout
的回调中添加removeClass
,如下所示:
$('.spaceship-container').hover(
function(){
$('.take-me-to-your-newsletter').addClass('show')
},
function(){
setTimeout(function(){
$('.take-me-to-your-newsletter').removeClass('show') //here
},3000);
});
因此,一旦3秒时间完成,回调函数中的行将被执行
为您添加一个您需要在
setTimeout
的回调中添加removeClass
,如下所示:
$('.spaceship-container').hover(
function(){
$('.take-me-to-your-newsletter').addClass('show')
},
function(){
setTimeout(function(){
$('.take-me-to-your-newsletter').removeClass('show') //here
},3000);
});
因此,一旦3秒时间完成,回调函数中的行将被执行
为您添加一个您需要在
setTimeout
的回调中添加removeClass
,如下所示:
$('.spaceship-container').hover(
function(){
$('.take-me-to-your-newsletter').addClass('show')
},
function(){
setTimeout(function(){
$('.take-me-to-your-newsletter').removeClass('show') //here
},3000);
});
因此,一旦3秒时间完成,回调函数中的行将被执行
加上一个,使用正确的函数语法可以解决您的问题。但您还需要停止使用mouseout函数
使用正确的函数语法可以解决您的问题。但您还需要停止使用mouseout函数
使用正确的函数语法可以解决您的问题。但您还需要停止使用mouseout函数
使用正确的函数语法可以解决您的问题。但您还需要停止使用mouseout函数
像这样$('.spaceship container').hover(函数(){$('.spaceship container').addClass('tmtyn')},setTimeout(3000,函数(){$('.spaceship container')).removeClass('tmtyn')});类似的可能重复?$('.spaceship container').hover(函数(){$('tmtyn'),带我去你的新闻稿').addClass('tmtyn')},setTimeout)(3000,function(){$('.带我去你的新闻稿').removeClass('tmtyn')};类似的可能重复?$('.spaceship container').hover(function(){$('.带我去你的新闻稿').addClass('tmtyn')},setTimeout(3000,function(){$('.带我去你的新闻稿').removeClass('tmtyn')});类似的可能重复$('.spaceship container').hover(函数(){$('.take me to your newslette').addClass('tmtyn')},setTimeout(3000,函数(){$('.take me to your newslette').removeClass('tmtyn')});可能重复此答案也是正确的,我将选择@Guruprasad Rao correct的答案,因为在答案中添加了一定程度的解释。谢谢。@RichardGrandi。我同意Rejith,如果您允许用户再次悬停元素,您可能需要再次清除
超时
,除非您涵盖全部内容有一些覆盖物:)+1表示思维良好的Rejith。虽然这个答案也是正确的,但我会选择@Guruprasad Rao correct的答案,因为在答案中添加了一定程度的解释。谢谢。@RichardGrandi。我同意Rejith的观点,如果您允许用户再次悬停元素,您可能需要再次清除超时
,除非您涵盖整个元素e带有一些覆盖层的东西:)+1表示思维良好的Rejith。虽然这个答案也是正确的,但我会选择@Guruprasad Rao correct的答案,因为在答案中添加了一定程度的解释。谢谢。@RichardGrandi。我同意Rejith的观点,如果您允许用户再次悬停元素,您可能需要再次清除超时
,除非您涵盖整个元素e带有一些覆盖层的东西:)+1表示思维良好的Rejith。虽然这个答案也是正确的,但我会选择@Guruprasad Rao correct的答案,因为在答案中添加了一定程度的解释。谢谢。@RichardGrandi。我同意Rejith的观点,如果您允许用户再次悬停元素,您可能需要再次清除超时
,除非您涵盖整个元素有一些覆盖物的东西:)+1表示思维敏捷。。