javascript - slidetoggle 不工作错误的类

标签 javascript jquery html css

我创建了一个 slidetoggle,但它不起作用。通常,如果我将鼠标悬停在年份上,月份将通过 slidetoggle 显示,但它不起作用......可能脚本上的类是错误的。 sample fiddle

HTML:

    <div class="smart-archives">

    <ul>
        <a class="year-link" href="http://net/2015">2015</a>: 

        <li><a class="month-link" href="http://.net/2015/01" title="1 post">January</a></li>
        <li><a class="month-link" href="http://.net/2015/02" title="1 post">February</a></li>
        <li><a class="month-link" href="http://.net/2015/03" title="16 posts">March</a></li>
        <li><a class="month-link" href="http://.net/2015/04" title="13 posts">April</a></li>
<li><a class="month-link" href="http://.net/2015/05" title="9 posts">May</a></li>
<li><a class="month-link" href="http://.net/2015/06" title="4 posts">June</a></li>
<li class="empty-month">July</li>
<li class="empty-month">August</li>
<li class="empty-month">September</li>
<li class="empty-month">October</li>
<li class="empty-month">November</li>
<li class="empty-month">December</li>
</ul>

    <ul>
<a class="year-link" href="http://.net/2014">2014</a>:
<li class="empty-month">January</li>
<li><a class="month-link" href="http://.net/2014/02" title="14 posts">February</a></li>
<li><a class="month-link" href="http://.net/2014/03" title="25 posts">March</a></li>
<li><a class="month-link" href="http://.net/2014/04" title="11 posts">April</a></li>
<li><a class="month-link" href="http://.net/2014/05" title="11 posts">May</a></li>
<li><a class="month-link" href="http://.net/2014/06" title="5 posts">June</a></li>
<li><a class="month-link" href="http://.net/2014/07" title="4 posts">July</a></li>
<li><a class="month-link" href="http://.net/2014/08" title="6 posts">August</a></li>
<li><a class="month-link" href="http://.net/2014/09" title="6 posts">September</a></li>
<li><a class="month-link" href="http://.net/2014/10" title="3 posts">October</a></li>
<li><a class="month-link" href="http://.net/2014/11" title="4 posts">November</a></li>
<li><a class="month-link" href="http://.net/2014/12" title="1 post">December</a></li>
</ul>
    </div>

CSS:

ul li { display:none; }
.empty-month { display: none; }

脚本:

$("ul > li").hover(function () {
    $(this).children("ul li").slideToggle("fast");
});

最佳答案

您应该在 anchor 悬停时滑动切换 sibling li,如下所示:

DEMO

$("ul > a").hover(function () {
    $(this).siblings("li").slideToggle("fast");
});

如果您将该选项保持在 hover

上,您可能会遇到以下问题
  • It might not work on properly on mobile
  • It will not allow you to click on the months once you hoverout of the link

所以我建议在 click 上执行相同的功能,例如

DEMO FOR CLICK

$("ul > a").click(function (e) {
    e.preventDefault();
    $(this).siblings("li").slideToggle("fast");
});

关于javascript - slidetoggle 不工作错误的类,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/30858547/

相关文章:

javascript - 通过 javascript 上的 onclick 按钮操作在 css 中选框

javascript - 使用 jQuery 将 div 滑出屏幕

css - 我如何强制我的 div 显示在 block 中?

javascript - 无法让 CSSCount 工作

javascript - 不同的操作系统对显示网页有多大影响?

javascript - 如何从html每个列表项获取jquery数组

jquery - 使用 jQuery 获取 HTML 元素

jquery - 对于通过ajax注入(inject)的html,重新运行 document.ready() jqueries,可以吗?

javascript - 如何在HTML JavaScript 中调用mfc C++ 函数以及如何在mfc C++ 中调用JavaScript 函数?

javascript - 在javascript中提取正则表达式组不起作用