JavaScript的切换上的keydown(Javascript Toggle on keydow

2019-07-29 23:18发布

我很新的时候,它会得到我的头周围JS功能。 我以前用过的一切,我倾向于按原样使用,但我一直在试图在一个特定的按键组合和修改函数来获得一个div切换(高度和不透明度)。 我的第一部分(可以得到div来上“CTRL + O” Show组合),但不能与if语句结合它基于当前的显示状态来显示或隐藏。

当前工作“只显示” JS:

$(document).keydown(function (e) {
    if (e.keyCode == 79 && e.ctrlKey) {
        document.getElementById('thediv').style.height = 'auto';
        document.getElementById('thediv').style.opacity = '1';
        return false;
    }
});

不工作“打开/关闭” JS(我试图改变这一切的地方,这更多的是给出我想要实现的想法):

$(document).keydown(function (e) {
    if (e.keyCode == 76 && e.ctrlKey) {

        function toggler('thediv') {
            var myDiv = document.getElementById('thediv').style.height;
            if (myDiv == "auto") {
                document.getElementById('thediv').style.height = "0px";
                document.getElementById('thediv').style.opacity = "0";

            } else {
                document.getElementById('thediv').style.height = "auto";
                document.getElementById('thediv').style.height = "1";
            }
        }

    }
});

任何帮助将非常感激!

Answer 1:

要显示和隐藏的元素,为什么设置它的高度和知名度? 只显示/隐藏与它拨动 。

$(document).keydown(function (e) {
    if (e.keyCode == 76 && e.ctrlKey) {
         $("#thediv").toggle();
    }
});

看你的代码

$(document).keydown(function (e) {
    if (e.keyCode == 76 && e.ctrlKey) {

        //This funciton is never called, you define it, do not call it!
        function toggler('thediv') { //<-- Error Here, you have a string as an argument?
            var myDiv = document.getElementById('thediv').style.height;
            if (myDiv == "auto") {
                document.getElementById('thediv').style.height = "0px";  //<--Bad practice using document.getElementById('thediv') over and over. Store it into a variable and reference it.
                document.getElementById('thediv').style.opacity = "0";

            } else {
                document.getElementById('thediv').style.height = "auto";
                document.getElementById('thediv').style.height = "1";
            }
        }

    }
});


文章来源: Javascript Toggle on keydown