Javascript jQuery-toggleClass+;滑动切换未按预期工作

Javascript jQuery-toggleClass+;滑动切换未按预期工作,javascript,jquery,html,css,mobile,Javascript,Jquery,Html,Css,Mobile,我对学习HTML、CSS和JavaScript比较陌生。我正在创建一个测试网站,只是为了学习,并开始潜入移动响应网站 我有一个测试站点,它有一个隐藏的移动导航按钮,有一个CSS媒体查询来设置显示,以阻止和隐藏正常的导航菜单。我还有移动导航菜单的列表项。为了显示/隐藏这一点,我创建了一个.toggleClass()jQuery函数: function clicktouchmenu() { $('#menuico').on('click touch', function() {

我对学习HTML、CSS和JavaScript比较陌生。我正在创建一个测试网站,只是为了学习,并开始潜入移动响应网站

我有一个测试站点,它有一个隐藏的移动导航按钮,有一个CSS媒体查询来设置显示,以阻止和隐藏正常的导航菜单。我还有移动导航菜单的列表项。为了显示/隐藏这一点,我创建了一个
.toggleClass()
jQuery函数:

function clicktouchmenu()
{
    $('#menuico').on('click touch', function()
    {
        var $mobmen = $(".mobilemenu");
        $mobmen.toggleClass('clicked');
    });
};
上面的操作正常,但我想在菜单中添加一个
.slideToggle()
,以便生效。如果我将其添加到
.toggleClass()
下面作为
$('.clicked').slideToggle()菜单的行为有点奇怪,如果我点击菜单图标,什么都不会发生,但反复点击,它似乎开始活跃起来,开始上下滑动工作


由于我对这一点还不熟悉,我认为我做得完全错误,或者过于复杂化了一些可能非常简单的事情。

尝试删除
单击的
类,并且只使用
MobileNu上的
滑动切换()
,如下所示:

$('#menuico').on('click touch', function()
{
    var $mobmen = $("#mobilemenu")
    $mobmen.slideToggle();
});
我认为问题在于,如果单击的
类正在切换菜单是否显示,那么它就干扰了
slideToggle()
。这是因为
slideToggle()
的目的是使某个东西看起来像是在视图中滑进滑出(即通过动画切换它是否隐藏)。因此,您只需要其中一个,但
slideToggle()
显然包含动画

我添加了一个提琴,但它只是一个演示,因为我不知道您的HTML或CSS是什么样的:

小提琴:


链接到jQuery文档中的
slideToggle()
上的条目,以获得更好的度量:

尝试删除
单击的
类,并仅在
MobileNu
上使用
slideToggle()
,如下所示:

$('#menuico').on('click touch', function()
{
    var $mobmen = $("#mobilemenu")
    $mobmen.slideToggle();
});
我认为问题在于,如果单击的
类正在切换菜单是否显示,那么它就干扰了
slideToggle()
。这是因为
slideToggle()
的目的是使某个东西看起来像是在视图中滑进滑出(即通过动画切换它是否隐藏)。因此,您只需要其中一个,但
slideToggle()
显然包含动画

我添加了一个提琴,但它只是一个演示,因为我不知道您的HTML或CSS是什么样的:

小提琴:


链接到jQuery文档中的
slideToggle()
条目,以便更好地衡量:

我对代码进行了更改,它工作得更好,加载页面时隐藏了菜单,幻灯片动画工作正常。谢谢:)没问题,很高兴我能帮上忙:)如果菜单打开,可以通过单击文档中的其他位置来关闭菜单吗?要做到这一点,你必须单击页面的其余部分,这里是一个类似问题的答案。我对代码进行了更改,它工作得更好,加载页面时菜单是隐藏的,幻灯片动画也很有效。谢谢:)没问题,很高兴我能帮上忙:)如果菜单正在打开,是否可以通过单击文档中的其他位置来关闭菜单?要做到这一点,您必须单击页面的其余部分,下面是一个类似问题的答案