Warning: file_get_contents(/data/phpspider/zhask/data//catemap/7/user-interface/2.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
移动菜单(CSS和JavaScript)未打开_Javascript_Html_Css - Fatal编程技术网

移动菜单(CSS和JavaScript)未打开

移动菜单(CSS和JavaScript)未打开,javascript,html,css,Javascript,Html,Css,我有下面的移动菜单和javascript在点击时打开/隐藏它,但它不起作用-关于如何修复它有什么想法吗 顺便说一句,我不是一个前端开发人员,我只是帮了别人一个忙,在另一个平台上重新创建了他们的网站-所以请对我放轻松;-) HTML: ... 和JavaScript: <script type='text/javascript'> (function ($) { $(document).ready(function () { // Mobile Me

我有下面的移动菜单和javascript在点击时打开/隐藏它,但它不起作用-关于如何修复它有什么想法吗

顺便说一句,我不是一个前端开发人员,我只是帮了别人一个忙,在另一个平台上重新创建了他们的网站-所以请对我放轻松;-)

HTML:


  • ...
和JavaScript:

<script type='text/javascript'>
(function ($) {
    $(document).ready(function () {
        // Mobile Menu
        $(function () { // run after page loads
            //Switch the "Open" and "Close" state per click then slide up/down (depending on open/close state)
            $(".mm-trigger").click(function () {
                $(this).toggleClass("active").next().slideToggle(500);
                return false; //Prevent the browser jump to the link anchor
            });
        });

        $(window).smartresize(function () {
            if (($(window).width() > 959)) {
                $("#mobile-menu").hide();
            }
        });
    });
}) 
</script>
</body>
</html>

(函数($){
$(文档).ready(函数(){
//移动菜单
$(函数(){//在页面加载后运行
//每次单击切换“打开”和“关闭”状态,然后向上/向下滑动(取决于打开/关闭状态)
$(“.mm触发器”)。单击(函数(){
$(this.toggleClass(“active”).next().slideToggle(500);
return false;//防止浏览器跳转到链接锚点
});
});
$(窗口)。smartresize(函数(){
如果($(window.width()>959)){
$(“#移动菜单”).hide();
}
});
});
}) 

我将感谢任何帮助解决这个问题,谢谢

您的代码应该可以工作-这是一个简化版本

我将按钮更改为type=button,并且必须添加一些CSS来显示代码的结果

不需要包装按钮的div,您确实应该单击按钮 如果这样做,则需要删除div或使用.parent()更改div样式

$(函数(){
//每次单击切换“打开”和“关闭”状态,然后向上/向下滑动(取决于打开/关闭状态)
$(“.mm触发器”)。单击(函数(e){
e、 preventDefault();//type=button实际上不需要
$(this.toggleClass(“active”).next().slideToggle(500);
});
/*与你的问题无关
$(窗口)。smartresize(函数(){

$(“#mobile menu”).toggle($(window).width()这段代码有很多错误,但我尽力修复了它

(函数($){…})。 然后在这个函数中,您定义了两个事件处理程序,而不是一个,它们应该在页面加载后执行。但是,由于您的初始函数没有执行任何操作,因此它们不会被初始化。 您只需要为加载页面后应该发生的事情定义一个处理程序

您也不需要在按钮周围使用
包装器。您可以将事件绑定到按钮,这就是它们的用途。因此,我删除了div并将相关类添加到按钮

$(函数(){//在页面加载后运行
//每次单击切换“打开”和“关闭”状态,然后向上/向下滑动(取决于打开/关闭状态)
$(“.mm触发器”)。单击(函数(){
$(this.toggleClass(“active”).next().slideToggle(500);
});
});
#移动菜单{显示:无}

菜单打开

你说“不工作”是什么意思?发生了什么?应该发生什么?请创建一个移动菜单。移动菜单应该打开,但它没有打开(单击汉堡时没有发生任何事情)还有,当你有一个按钮要点击时,为什么还要点击一个div呢?如上所述,我不是一个开发人员,我只是从一个现有的网站复制了这个,并试图让它在其他地方工作,我没有写任何代码。。
<script type='text/javascript'>
(function ($) {
    $(document).ready(function () {
        // Mobile Menu
        $(function () { // run after page loads
            //Switch the "Open" and "Close" state per click then slide up/down (depending on open/close state)
            $(".mm-trigger").click(function () {
                $(this).toggleClass("active").next().slideToggle(500);
                return false; //Prevent the browser jump to the link anchor
            });
        });

        $(window).smartresize(function () {
            if (($(window).width() > 959)) {
                $("#mobile-menu").hide();
            }
        });
    });
}) 
</script>
</body>
</html>