gpt4 book ai didi

javascript - Bootstrap 工具提示在第二次鼠标悬停时立即显示

转载 作者:太空宇宙 更新时间:2023-11-03 22:54:48 25 4
gpt4 key购买 nike

我有一个带有标题的 html 元素title ="This is a tooltip" 和我的类(class) class="tooltips"

在我的 script.js 中有以下代码(仅用于演示我的问题):

var timeout;
$('.tooltips').mouseenter(function(){
var that = $(this);
if(timeout){
clearTimeout(timeout);
}
timeout = setTimeout(function(){
that.tooltip('show');
setTimeout(function(){
that.tooltip('hide');
}, 1000);
}, 1000);
});
<script src="https://ajax.googleapis.com/ajax/libs/jquery/2.1.1/jquery.min.js"></script>
<link href="//maxcdn.bootstrapcdn.com/bootstrap/3.3.1/css/bootstrap.min.css" rel="stylesheet">
<script src="//maxcdn.bootstrapcdn.com/bootstrap/3.3.1/js/bootstrap.min.js"></script>
<br />
<br />
<a href="#" title="I am a tooltip" class="tooltips">Hover me</a>

它应该做什么:如果我用我的指针输入元素,它应该什么也不会发生。延迟一秒后,工具提示应出现,再过一秒,工具提示应消失。

实际发生了什么:第一次它按预期工作,但如果我第二次悬停该元素,工具提示会立即出现并在延迟两秒后消失。似乎第一个 tooltip('show') 启用了在鼠标悬停时显示的工具提示。

我怎样才能让它发挥作用?

最佳答案

我有解决这个问题的办法。好像是这样

.tooltip('show') 

正在为此元素启用工具提示,因此任何后续悬停都会显示工具提示。

var timeout;
$('.tooltips').mouseenter(function(){
var that = $(this);
if(timeout){
clearTimeout(timeout);
}
timeout = setTimeout(function(){
that.tooltip('enable');
that.tooltip('show');
setTimeout(function(){
that.tooltip('disable');
}, 1000);
}, 1000);
});
<script src="https://ajax.googleapis.com/ajax/libs/jquery/2.1.1/jquery.min.js"></script>
<link href="//maxcdn.bootstrapcdn.com/bootstrap/3.3.1/css/bootstrap.min.css" rel="stylesheet">
<script src="//maxcdn.bootstrapcdn.com/bootstrap/3.3.1/js/bootstrap.min.js"></script>
<br />
<br />
<a href="#" title="I am a tooltip" class="tooltips">Hover me</a>

应该可以解决问题

关于javascript - Bootstrap 工具提示在第二次鼠标悬停时立即显示,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/38828669/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com