gpt4 book ai didi

javascript - 加载时隐藏元素,使用 Mouseenter 悬停时显示

转载 作者:行者123 更新时间:2023-11-28 07:17:53 24 4
gpt4 key购买 nike

我有一个使用 mouseentermouseleave 隐藏/显示子元素的菜单,但子元素在页面加载时出现。

我希望元素在页面加载时不会出现,而仅在 mouseentermouseleave 上出现。

我如何使用下面的代码来完成此任务?

        $('.side-nav>li.has-flyout', this).on('mouseenter mouseleave', function(e) {
if (e.type == 'mouseenter') {
$('.side-nav').find('.flyout').hide();
$(this).children('.flyout').show();
}
if (e.type == 'mouseleave') {
var flyout = $(this).children('.flyout'),
inputs = flyout.find('input'),
hasFocus = function(inputs) {
var focus;
if (inputs.length > 0) {
inputs.each(function() {
if ($(this).is(":focus")) {
focus = true;
}
});
return focus;
}
return false;
};
if (!hasFocus(inputs)) {
$(this).children('.flyout').hide();
}
}
});

仅执行 $('.side-nav>li.has-flyout').hide(); 显然会隐藏整个导航项。 FWIW 我正在使用 Foundation 5 的框架。

最佳答案

理想:所有初始样式(例如 display: none)(即 .hide() 的作用)都应该写入样式表中。

/* css */
.side-nav > li.has-flyout .flyout {
display: none;
}

不太理想:

// JavaScript
$('.side-nav>li.has-flyout').children('.flyout').hide();

关于javascript - 加载时隐藏元素,使用 Mouseenter 悬停时显示,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/30652674/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com