jQuery slideToggle没有触发

时间:2015-12-08 21:39:27

标签: php jquery html css

因此,我尝试使用jquery创建一个下拉菜单,并使用display: none创建一个div(下拉列表)。当我点击上面导航栏中的li项时,我试图触发jquery切换。如果有人可以查看这段代码,看看是否有任何明显的错误,那就太棒了。

由于

PS当我使用WP

时,PHP代码存在
<ul class="right-nav">
    <li style="padding-left: 10px; cursor: pointer;" id="current-user">
    <?php $current_user = wp_get_current_user(); echo $current_user->user_login; ?>
    </li>
</ul>

下拉菜单:

<div class="dropdown-wrapper">
    <div id="user-menu" class="user-menu">
       <ul>
           <li>Hello</li>
        </ul>
    </div>

.user-menu {
    display: none;
}

然后是jQuery事件本身:

$(document).ready(function() {
        $('#current-user').click(function() {
                $('#user-menu').slideToggle("fast");
        });
    });

1 个答案:

答案 0 :(得分:1)

男人......我想我有点儿了。删除CSS:

.user-menu {
    display: none;
}

相反,在document ready中,请给出:

$(".user-menu").hide();

相信我,这有所不同。原因是,jQuery首先检查元素中是否存在style="display: none;",因为它不存在,因为它是由CSS给出的,它给出了另一个display: none内联样式。这没有任何区别。但第三次点击会显示出来。试一试。