Javascript 如何制作延时下拉菜单(JS)?

Javascript 如何制作延时下拉菜单(JS)?,javascript,html,css,Javascript,Html,Css,有一个下拉菜单,你需要做的是使子菜单延时下降 这是我目前如何实施的[示例][1] 鼠标按下按钮后,使用setTimeout启动倒计时直到菜单出现,如果光标从按钮上移除,则使用cleartimout取消超时 我不明白为什么它不起作用 转换不使用显示:无,因此这不是一个选项 如何修复以使其工作?CSS转换s无法与显示:块一起工作或显示:无。您可以使用jQuery: $(函数(){ $(“ul”).hide(); $(“a”).mouseover(函数(){ $(“ul”).delay(1000.f

有一个下拉菜单,你需要做的是使子菜单延时下降

这是我目前如何实施的[示例][1]

鼠标按下按钮后,使用
setTimeout
启动倒计时直到菜单出现,如果光标从按钮上移除,则使用
cleartimout
取消超时

我不明白为什么它不起作用

转换
不使用
显示:无
,因此这不是一个选项


如何修复以使其工作?

CSS
转换
s无法与
显示:块一起工作
显示:无。您可以使用jQuery:

$(函数(){
$(“ul”).hide();
$(“a”).mouseover(函数(){
$(“ul”).delay(1000.fadeIn();
});
});
a{显示:内联块;文本装饰:无;填充:5px;颜色:#000;边框:1px实心#ccc;边框半径:3px;线条高度:1;}
.btn{页边距底部:-1px;}
ul,li{margin:0;padding:0;列表样式:none;border:1px solid#ccc;}
ul{填充:5px;背景色:#fff;宽度:100px;}
ul li a{显示:块;边框宽度:0;边框顶部宽度:1px;边框半径:0}
ul li:第一个子a{border top:0;}


请在问题中包含您的代码。小提琴应该是补充的,不需要理解问题。首先,请去阅读。相关代码直接属于您的问题。//您的子菜单是通过CSS显示的,通过规则
.menu ul li:hover>.submenu
-这会立即发生,如果您想使用JavaScript引入延迟,首先必须删除该规则,然后在JS中执行整个操作。您的JSFIDLE没有用,因为您没有包含
jQuery
。您知道您的源代码需要
jQuery库
,对吗?若并没有,那个么我建议你们在获取免费源代码并尝试将其粘贴到你们自己的东西之前先阅读一些东西