【问题标题】:Responsive CSS /java script DIV - show on click only on mobile query响应式 CSS /java 脚本 DIV - 仅在移动查询上单击时显示
【发布时间】:2023-03-27 04:15:01
【问题描述】:

我已经在网上到处寻找,试图解决这个问题。我正在制作一个响应移动设备的桌面网站,并且遇到了导航菜单的问题。对于移动版本,我已将其设置为display:none,但我想将其设置为可以通过单击图像或文本来查看。我在其他地方找到的解决方案都只适用于只有 ULLI 元素的 div 菜单。我的每个“部分”都有H2 标签,等等。我只是希望单击按钮,然后整个DIV 只显示在移动查询上,而不会弄乱我的任何 HTML 代码等。

我发现这个 jquery 代码看起来很接近,但它似乎隐藏了桌面上的导航 div。我需要它与 display:none 一起工作,仅通过 CSS 在媒体查询中设置。

$("#preview").toggle(function() {
    $("#navi").hide();
}, function() {
    $("#navi").show();
});

});

只需单击诸如“单击此处查看菜单”之类的文本即可调用它...也希望它是按钮或链接。

【问题讨论】:

    标签: javascript jquery css menu navigation


    【解决方案1】:

    尝试使用$.toggleClass() 而不是使用$.hide()。这样媒体查询 css 将有更多的控制权。以下是仅在小于 700 像素的屏幕中隐藏 div 的按钮的示例。

    JS:

    $("#preview").toggleClass('hideInMobile');
    

    CSS:

    @media (max-width: 700px){
        .hideInMobile 
        {
            display:none
        }
    }
    

    演示:http://jsfiddle.net/HZDCW/2/

    希望对你有帮助。

    【讨论】:

    • 你也可以使用.slideToggle(); 和一些缓动让它看起来更平滑。
    • 您好,感谢您的回复。我试过这样做,但它仍然对我不起作用。也许我做错了什么?它将隐藏和显示的 div 是#navi。
    • 我在一个名为 preview 的 div 中添加了按钮代码。 .. 很抱歉这些乱七八糟的帖子.. 我是新来的:P
    • #navi 是一个id,而不是一个class。你需要一个类似于我在示例演示中的类名。此外,toggleClass('classname') 在您应用的元素上添加/删除类,所以如果#preview 是一个按钮,那就错了。有关详细信息,请参阅api.jquery.com/toggleClass
    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 2013-02-10
    • 1970-01-01
    • 1970-01-01
    • 2013-09-18
    • 2021-02-10
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多