我正在尝试通过 CSS 媒体查询从我的“桌面”网站创建一个移动网站。
我有一个简单的下拉菜单(桌面),可以转换为下推菜单(移动)。浏览器宽度为 768 像素以上的任何地方都会为桌面加载 CSS,而在 767 像素以下的任何地方都可以加载移动下推菜单。
问题是下推菜单需要一个 js 文件才能正常运行。js文件强制隐藏包含菜单的div。因此,在 767 像素的浏览器宽度下,下推工作正常,在 768 像素时,桌面导航不可见。
我是 JavaScript 和 Jquery 的新手,但我试图用我最少的知识让它有效地运行。我需要它尽可能简单,因为站点必须尽可能小。
目前这是我最接近正常运行的方法:
function hideDiv(){
    if ($(window).width() < 768) {
        $(".togglebox").hide();
    }else{
        $(".togglebox").show();
    }
}
//run on document load and on window resize
$(document).ready(function () {
    //on load
    hideDiv();
    //on resize
    $(window).resize(function(){
        hideDiv();
    });
});
$(document).ready(function(){
    $(".togglebox").hide();
    $("h1").click(function(){
    $(this).next(".togglebox").slideToggle("slow");
    return true;
    });
});
笔记:
切换框 div 需要隐藏才能使下推菜单起作用,但是相同的 div 需要在超过 768px 的宽度上可见,以便桌面导航可见。
上面的代码使它工作正常,但是当我输入页面 url 时,在我尝试调整浏览器宽度之前没有导航。我知道我有两个 (document).ready 函数,也许这就是问题所在,但我尝试过使用代码,但我没有任何运气。必须有一个我忽略的简单解决方案?
我想也许只在 767px 宽度下执行下推菜单功能,然后在上面的任何东西上简单地显示切换框 div。