繁体   English   中英

jQuery悬停和SlideToggle

[英]JQuery Hover and SlideToggle

我想使导航栏保持显示状态,直到我将指针悬停在该部分上为止。 发生的事情是,如果我将指针悬停在导航栏上,则显示会不断切换(先显示然后隐藏。它处于循环状态?), 我只希望它停留。 然后当我的指针离开时再次隐藏

 <script> $(document).ready(function(){ $(".menu-trigger").hover(function(){ $("li").slideToggle(400, function(){ jQuery(this).toggleClass("nav-expanded").css('show',''); }); }); }); </script> 
 img { padding: 0px; max-width: 100%; max-height: auto; } .menu-trigger { pointer: cursor; display: block; position: fixed; font-family: Sans-serif; font-size: 15px; background-color: #664c7d; height: 35px; width: 100%; } li{ display: none; } li.navbar ul { } } div.nav-expanded { display: block; } 

您的代码有一些错误,并且尚不清楚您要完成什么( .css('show', '') ?)。 我假设您需要的是一个元素,该元素将在悬停时切换其类,并且在不再悬停时将变回其原始状态。 您需要做的是,每当您的鼠标移到元素上或离开元素时,切换导航栏的类。

假设$nav是您的导航栏,则可以使用:

$nav.on('mouseover mouseout', function(){
  $nav.toggleClass('show');
});

或者(可以说更安全):

$nav.on('mouseover', function(){
    $nav.addClass('show');
  }).on('mouseout', function(){
    $nav.removeClass('show');
  });

您可以在此JSFiddle中看到用法。

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM