Warning: file_get_contents(/data/phpspider/zhask/data//catemap/7/css/39.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
Css 保持wordpress子菜单打开几秒钟_Css_Wordpress_Menu - Fatal编程技术网

Css 保持wordpress子菜单打开几秒钟

Css 保持wordpress子菜单打开几秒钟,css,wordpress,menu,Css,Wordpress,Menu,我有一个像这样的wordpress菜单: <div id="top_menu"> <ul class="menu"> <li id="menu-item-1" class="menu-item menu-item-type-post_type menu-item-object-page menu-item-1"><a href="moo">moo</a> <ul class="sub-menu">

我有一个像这样的wordpress菜单:

<div id="top_menu">
  <ul class="menu">
    <li id="menu-item-1" class="menu-item menu-item-type-post_type menu-item-object-page menu-item-1"><a href="moo">moo</a>
      <ul class="sub-menu">
        <li id="menu-item-2" class="menu-item menu-item-type-post_type menu-item-object-page menu-item-2"><a href="foo">foo</a></li>
        <li id="menu-item-3" class="menu-item menu-item-type-post_type menu-item-object-page menu-item-3"><a href="bar">bar</a></li>
      </ul>
    </li>
    <li id="menu-item-4" class="menu-item menu-item-type-post_type menu-item-object-page menu-item-4"><a href="baz">baz</a></li>
  </ul>
</div>
你可以在这里看到:

现在,如果你浏览“moo”子菜单,会显示foo和bar。我现在的目标是在鼠标移出“moo”链接区域后,保持子菜单打开2秒钟。我该怎么做

我将感谢任何帮助

使用javascript(jQuery)显示子菜单并应用


既然你提到了css,我就要发布这个。使用css3转换实现您想要的

下面是一个使用jquery和当前css的替代javascript解决方案

​​​​$("li").mouseout(function(){
    var uls =$(this).children("ul");
    uls.css("left","auto");
setTimeout(function(){ uls.css("left",""); }, 2000);
});​​​

您需要的兼容性是什么?例如,css转换可以工作,但并不兼容所有浏览器。只要它工作,这并不重要;)我将使用jQuery进行lgo,因为这似乎是最简单的答案。谢谢,但这似乎不起作用-“显示:”正在立即从“块”切换到“无”,忽略延迟…尝试用淡出()替换隐藏()
$('#top_menu li').hover(function(){
    $('.sub-menu', this).show();
}, function(){
    $('.sub-menu', this).delay(2000).hide();
});
​​​​$("li").mouseout(function(){
    var uls =$(this).children("ul");
    uls.css("left","auto");
setTimeout(function(){ uls.css("left",""); }, 2000);
});​​​