Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/jquery/76.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Jquery 延迟鼠标输出上的css:hover状态_Jquery_Css_Menu_Hover_Delay - Fatal编程技术网

Jquery 延迟鼠标输出上的css:hover状态

Jquery 延迟鼠标输出上的css:hover状态,jquery,css,menu,hover,delay,Jquery,Css,Menu,Hover,Delay,我有一个2级下拉菜单,鼠标必须穿过一条相当狭窄的走廊才能保持菜单打开,如果它偏离轨道,菜单会意外关闭,这令人沮丧。我想让菜单不要立即关闭,而是延迟关闭 这是一个标准菜单,使用css制作,如tis: ul.menu li ul { display: none; } ul.menu li:hover ul { display:block; } 我需要当没有更多的悬停状态,菜单仍然是可见的至少0.5秒 已尝试过此方法,但不起作用: <script> $( ".menu l

我有一个2级下拉菜单,鼠标必须穿过一条相当狭窄的走廊才能保持菜单打开,如果它偏离轨道,菜单会意外关闭,这令人沮丧。我想让菜单不要立即关闭,而是延迟关闭

这是一个标准菜单,使用css制作,如tis:

ul.menu li ul {
    display: none;
}
ul.menu li:hover ul {
    display:block;
}
我需要当没有更多的悬停状态,菜单仍然是可见的至少0.5秒

已尝试过此方法,但不起作用:

<script>
$( ".menu li" ).mouseout(function() {
    $(".menu li ul").css("display: block");
    $(".menu li ul").css.setTimeout("display: none", 2000);
});
</script>

$(“.menu li”).mouseout(函数(){
$(“.menu li ul”).css(“显示:块”);
$(“.menu li ul”).css.setTimeout(“显示:无”,2000);
});

尝试以下方法:将CSS3的transition属性与可见性结合使用,可以使其平滑。根据您的要求增加转换时间(以秒为单位)

ul.li ul{
可见性:隐藏;
不透明度:0;
}
菜单li:悬停ul{
能见度:可见;
过渡:可见性0,不透明度1.5线性;
不透明度:1;
}
  • 菜单
    • 菜单内菜单

尝试以下方法:将CSS3的转换属性与可见性结合使用,可以使其平滑。根据您的要求增加转换时间(以秒为单位)

ul.li ul{
可见性:隐藏;
不透明度:0;
}
菜单li:悬停ul{
能见度:可见;
过渡:可见性0,不透明度1.5线性;
不透明度:1;
}
  • 菜单
    • 菜单内菜单

您可以使用如下转换:

ul.menu{
位置:相对位置;
背景:石灰;
宽度:150px;
}
菜单{
位置:绝对位置;
背景:红色;
可见性:隐藏;
不透明度:0;
右:0;
利润上限:-14px;
过渡:能见度1.5s线性1s,不透明度1.5s线性1s;
}
菜单li:悬停ul{
能见度:可见;
不透明度:1;
过渡:可见性为0,不透明度为0;
}
  • 链接a
  • 链接b
    • 链接b-1
    • 链接b-2
  • 链接c

您可以使用如下转换:

ul.menu{
位置:相对位置;
背景:石灰;
宽度:150px;
}
菜单{
位置:绝对位置;
背景:红色;
可见性:隐藏;
不透明度:0;
右:0;
利润上限:-14px;
过渡:能见度1.5s线性1s,不透明度1.5s线性1s;
}
菜单li:悬停ul{
能见度:可见;
不透明度:1;
过渡:可见性为0,不透明度为0;
}
  • 链接a
  • 链接b
    • 链接b-1
    • 链接b-2
  • 链接c

您可以使用带有位延迟的转换,使其在悬停时保持可见:

.nested{
指针事件:无;/*这与显示无类似,隐藏时鼠标不会与子对象交互*/
不透明度:0;
过渡:不透明度0.1s;/*将长度更改为更长,以获得更好的淡入度*/
转换延迟:1s;/*一秒钟内不会发生淡出*/
}
.hover:hover.nested{
指针事件:自动;
不透明度:1;
过渡:不透明度0.1s;/*悬停时淡入*/
转换延迟:0s;/*立即淡入*/
}

悬停
嵌套

您可以使用带有位延迟的转换,使其在悬停时保持可见:

.nested{
指针事件:无;/*这与显示无类似,隐藏时鼠标不会与子对象交互*/
不透明度:0;
过渡:不透明度0.1s;/*将长度更改为更长,以获得更好的淡入度*/
转换延迟:1s;/*一秒钟内不会发生淡出*/
}
.hover:hover.nested{
指针事件:自动;
不透明度:1;
过渡:不透明度0.1s;/*悬停时淡入*/
转换延迟:0s;/*立即淡入*/
}

悬停
嵌套

有一种方法可以添加一个display:mouseout后用jqerry阻塞属性0.5秒?@Pete这肯定比我的更干净,我正在删除我的答案,我会记住你的;)不知道为什么会被重新打开。这显然是重复的,答案与建议的Q完全相同&A@Paulie_D很抱歉我重新打开了它,因为dupe中没有一个答案显示了如何将淡出延迟半秒-他们只是演示了如何进行显示块到无转换添加延迟是dupe的一个小扩展,不值得重新打开这样一个卵生的dupe。有一种方法可以添加一个display:block属性和jqerry,在之后0.5秒mouseout?@Pete那肯定比我的更干净,我正在删除我的答案,并且会记住你的;)不知道为什么会被重新打开。这显然是重复的,答案与建议的Q完全相同&A@Paulie_D很抱歉我重新打开了它,因为dupe中没有一个答案显示了如何将淡出延迟半秒-他们只是显示了如何进行显示块到无转换添加延迟是dupe的一个小扩展,不值得重新打开这样一个ovbious dupe.OP需要相反的延迟:悬停状态结束时的延迟,而不是启动时的延迟。。。请注意这个问题。@sjahan,我没有以其他方式理解。在这种情况下,OP可以反转CSS。我已经在我的帖子里更新了。请看谢谢这是工作,我只是添加了过渡到ul.li ul菜单,而不是:悬停到反转。OP需要相反的:悬停状态结束时的延迟,而不是启动时的延迟。。。请注意这个问题。@sjahan,我没有以其他方式理解。在这种情况下,OP可以反转CSS。我已经在我的帖子里更新了。请看谢谢这是工作,我只是添加了过渡到ul.li ul菜单,而不是:悬停反转。