使用slideDown下拉,点击更改菜单标题

时间:2016-11-02 02:31:35

标签: jquery html css

我有一个下拉菜单,在悬停时向下滑动,然后向上滑动。下拉列表的标题是活动列表项。当用户点击并Sub DeleteLinks() Application.ScreenUpdating = False Application.DisplayAlerts = False Dim link As Hyperlink For Each link In Worksheets("log").Columns("M").Hyperlinks If link.Range.Offset(0, -3) = "Closed" Then On Error Resume Next Range(link.SubAddress).Parent.Delete On Error GoTo 0 link.Range.ClearContents End If Next Application.DisplayAlerts = True Application.ScreenUpdating = True End Sub 收到具有n的班级<li>时,<li>会变为有效状态。除了当用户点击列表项时,它会立即从之前处于活动状态的active-markup-style中移除display:block类,并将active-markup-style返回到<li>,但大部分都有效。 }。如何解决此问题,以便之前处于活动状态的<li>保持活动状态,直到下拉菜单关闭?

&#13;
&#13;
display:none
&#13;
<li>
&#13;
$('#dropdown-content').hover(
 function(){
        $(this).children().slideDown(200);
   },
    function(){
        $(this).children().slideUp(0);

});

$('.markup-btn').click(function () {
    $(this).addClass('active-markup-style');
    $('.markup-btn').not($(this)).removeClass('active-markup-style');
    });
&#13;
&#13;
&#13;

1 个答案:

答案 0 :(得分:0)

我明白了。我创建了另一个类,它在点击时被指定为参考。然后我使用回调函数来分配slideUp

之后的活动类
$('#dropdown-content').hover(
     function(){
            $(this).children().slideDown(200);
       },
        function(){
            $(this).children().slideUp(0, function() {
                $('.markup-btn').removeClass('active-markup-style-show');
                $('li.active-markup-style').addClass('active-markup-style-show');
                });

    });

$('.markup-btn').click(function () {
    $(this).addClass('active-markup-style');
    $('.markup-btn').not($(this)).removeClass('active-markup-style');
    });