用于更改移动显示的 css 值的 Javascript

标签 javascript css mobile nav

我正在尝试让移动导航按钮从显示更改菜单显示:无;显示: block ;单击然后显示时: block ;显示:无;再次点击时。它可以从显示切换:无;显示: block ;但不是来自显示: block ;显示:无;

我对使用 javascript 还是比较陌生,我确实尝试四处寻找我的答案(我觉得它可能在某处),但除非我正在实现其他一些代码,否则我发现错误我无法让它发挥作用。下面是我最初的编码尝试。感谢您的帮助

var hidden = true;

if (hidden == true) {
   $('a.hamburger').click(function() {
    hidden = false;
    document.getElementById('navigation').style.display = "block";
    document.getElementById('header-menu').style.height = "370px";
    });
} else if (hidden != true) {
$('a.hamburger').click(function() {
    hidden = true;
    document.getElementById('navigation').style.display = "none";
    document.getElementById('header-menu').style.height = "78px";
});
};

最佳答案

或者您可以使用 jQuery 的 .toggle()。另外,我不确定出于某种原因将 jQuery 与 vanilla JS 混合是否是一种有意识的选择,但这是一个纯粹的 jQuery 解决方案:

$(document).ready(function(){
    $('a.hamburger').click(function() {
        $('#navigation').toggle();
        if ($('#navigation').is(':visible')) {
            $('#header-menu').css('height', '370');
        } else {
           $('#header-menu').css('height', '');
        }  
    });
});

这是一个 working example .

关于用于更改移动显示的 css 值的 Javascript,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/24543658/

相关文章:

html - 我无法在 Bootstrap 模式中向上移动元素

javascript - JQuery 移动可折叠内容未正确显示

html - iPhone 6+ Mobile safari iOS 8 横向打开标签,Bootstrap navbar-fixed-top 在打开时不会关闭

javascript - Angular js - 服务和循环注入(inject)错误

javascript - 使用javascript从字符串中删除 "Form"标签及其内容

html - 如何使用 Bootstrap 以相同的高度水平显示两张卡片

javascript - 添加标记时谷歌地图 js api 会阻止 ui

javascript - 使用 javascript 或 jquery 在 HTML 页面中携带数据

javascript - 如何在 rivets.js 中打印数组

html - 箭头分解到 IE11 中的下一行