javascript - 悬停元素时显示/隐藏级联菜单

标签 javascript jquery html css

当用户将鼠标移动到某个元素上时,我需要显示/隐藏级联菜单。这很容易用 jquery 实现,使用悬停功能:
N.B: timer只是用来在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 函数,在给定此元素数组的情况下,提供显示每个菜单的功能,而无需多次编写该代码?

最佳答案

您可以使用 this 这样您就可以对所有元素使用相同的代码,但这完全取决于您的 html 代码格式。

Here is an example.

$(document).ready(function() {
    $('.element').hover(function(){
        $(this).find(".cascading_menu").stop().slideDown();
    }, function(){
        $(this).find(".cascading_menu").delay(200).slideUp();
    });
});

注意:您还可以使用 delay(ms) 代替计时器。

关于javascript - 悬停元素时显示/隐藏级联菜单,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/22899902/

相关文章:

javascript - 如何从 javaScript 文件中删除脚本初始化

javascript - jQuery 选择所有 id 以开头的表

javascript - eBay 和 Bootstrap : collapse menu in javascript

javascript - 如何绑定(bind) Angular4 组件的输入参数

javascript - 从 JS 中的对象列表中收集索引统计信息

javascript - 自动 slider /滚动条显示动态内容

javascript - 使用变量显示隐藏的 div

javascript - 在 Html 中单击列表 (li) 项目不适用于 jquery

javascript - 从动画 GIF 中提取单帧到 Canvas

html - 试图对齐 div