3
关注
1446
浏览

为什么jQuery悬停效果不起作用?

为什么被折叠? 0 个回复被折叠
qq 未验证用户 用户来自于: 广东省
2020-09-17 08:38

.hover()有两个处理器。鼠标IN和鼠标OUT。

如果您希望定义在鼠标移出时发生的事情,您必须定义处理程序。

element.hover(mouseenter, mouseleave); 

Documentation

所以我建议:

$(".navbar .dropdown-toggle").hover(

    // Mouseenter event handler 
    function() { 
    $(this).parent().toggleClass("show"); 
    $(this).parent().find(".dropdown-menu").toggleClass("show"); 
    }, 

    // Mouseleave event handler 
    function(){ 
    $(this).find(".dropdown-menu").stop(true, true).delay(200).fadeOut(500); 
    } 
); 
hungdan 未验证用户 用户来自于: 广东省
2020-09-16 08:27

如果你想使用.hover(),这是可以做到像这样:

$(".navbar .navbar-toggler").hover(function(e) { 
    $(".navbar .navbar-collapse").addClass("show").fadeIn(500); 
}, function(e) { 
    $(".navbar .navbar-collapse").removeClass("show").fadeOut(500); 
}); 

这有缺点,一旦当您移动鼠标点击或选择其中一个菜单项时,它将恢复该类并隐藏起来。

我会建议留在.click()所有情况下。

$(".navbar .navbar-toggler").click(function() { 
    $(".navbar .navbar-collapse").toggleClass("collapse show"); 
}); 

工作实例:https://jsfiddle.net/4gas2aok/4/

如果您想保留褪色,使用.fadeToggle():这将移动和桌面浏览器上工作

$(".navbar .navbar-toggler").click(function() { 
    $dropdown.fadeToggle(500).toggleClass("collapse show"); 
}); 

引导CSS解决了很多的宽度问题已经存在,所以你不需要检查窗口宽度,只需让bootstrap自行处理。

完整的例子:https://jsfiddle.net/4gas2aok/7/

关于作者

Robin 未验证用户

这家伙很懒,还没有设置简介

问题动态

发布时间
2020-09-15 15:51
更新时间
2022-09-15 15:51
关注人数
3 人关注

相关问题

为什么JSDOM更改html结构?
为什么我什么应用也没打开它就出现了一系列的广告。快回答!
的Javascript为什么我可以访问的功能
视频批量锐化并加上渐入效果,什么工具可以实现?
为什么国家不对语言管严点这让心里难受能力弱的人咋交朋友
为什么此回调没有访问外部范围的正确值?
点击登录用户就跳出资源不能用,不知道为什么
为什么弹窗有取消关闭按钮
JQuery序列化数据获取旧窗体值
为什么当我滚动底部时无限滚动不起作用,而是在滚动顶部触发?
个人工作笔记 Powered BY WeCenter V4.1.0 © 2024 粤ICP备2020123311号