javascript - jQuery .toggle() 和媒体查询

标签 javascript jquery

我在 button 元素上使用 .toggle():

$("header button").click(function(event){
    $(".site-nav-wrapper").toggle();
    event.preventDefault();
});

这很好用。问题是如果 button 切换到 display:none 然后我改变设备方向,触发我的桌面媒体查询,尽管我重新强制 display:block; 在桌面媒体查询上,按钮 保持切换到 display:none:

(萨斯):

.site-nav-wrapper{

            //Mobile First
            display:none;

            @include breakpoint($breakpoint-lg) {
                display:block;
            }
}

有没有办法重置 toggle() 函数正在存储的内容?

最佳答案

toggle 使用内联样式,它会覆盖您在样式表中所做的任何事情。

要获得所需的结果,您应该使用特殊的hidden 类来隐藏元素,并使用toggleClass。相反。

SASS:

.site-nav-wrapper.hidden {

    display: none;

    @include breakpoint($breakpoint-lg) {
        display: block;
    }
}

JS:

$("header button").click(function(event){
    $(".site-nav-wrapper").toggleClass('hidden');
    event.preventDefault();
});

关于javascript - jQuery .toggle() 和媒体查询,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/12047858/

相关文章:

javascript - 如何在新用户的 Google 一键式 UI 中显示隐私政策 URL 和服务条款 URL?

javascript - 如何让一个数成为一个幂?

javascript - html 表 : adding a class to the highest value of each column

javascript - 选中 Column 中的所有复选框,并在选中另一列时取消选中它们

javascript - 我如何更改它以显示用户在几分钟内输入?

javascript - 对 HTML 表格进行排序

javascript - 在 JQuery UI 日期选择器中选择周数或日期

php - 隐藏页面加载上的提交按钮

javascript - Jquery多次附加html文件并传递参数

javascript - 事件绑定(bind)是什么意思?