当用户在特定元素上移动鼠标时,需要显示/隐藏级联菜单。使用悬停功能,使用jquery很容易实现:
N.B:计时器仅用于在200ms后隐藏菜单,并不重要。悬停时显示/隐藏级联菜单元素
$(document).ready(function() {
var timer;
$('.element,.cascading_menu').hover(function(){
clearTimeout(timer);
$('.cascading_menu').show();
}, function(){
timer = setTimeout(function(){$('.cascading_menu').hide();},200);
});
});
我必须为每个我想隐藏的菜单重复此代码。
但由于我有很多菜单,我想减少代码长度。
我的想法是使用“id悬停的元素:id菜单来显示/隐藏”的数组。
你认为有可能编写一个jQuery函数,给定这个元素数组,提供显示每个菜单,而不必编写代码十几次?
你能提供一个小提琴吗? – Anubhav
你可以删除'setTimeout',而是使用'。延迟(200)'(我知道你说的那部分并不重要,但它可以节省几行) – royhowie