Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/javascript/444.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Javascript 切换仅在第二次单击时显示_Javascript_Html_Css - Fatal编程技术网

Javascript 切换仅在第二次单击时显示

Javascript 切换仅在第二次单击时显示,javascript,html,css,Javascript,Html,Css,我有一个div,它是display:none,单击图标时应该会显示它。我的功能正常,但总是在第二次单击时运行。你知道这个函数有什么问题吗 document.getElementById('icon').onclick = function(){ var el = document.getElementById('div'); if ( el.style.display != 'none' ){ el.style.display = 'none'; }

我有一个
div
,它是
display:none
,单击图标时应该会显示它。我的功能正常,但总是在第二次单击时运行。你知道这个函数有什么问题吗

document.getElementById('icon').onclick = function(){
    var el = document.getElementById('div');
    if ( el.style.display != 'none' ){
        el.style.display = 'none';
    }
    else {
        el.style.display = 'block';
    };
};
将测试更改为“阳性”

它会起作用的

默认值可能不完全是“无”


使用jQuery将使这一点更加容易,请参见将测试更改为“阳性”

它会起作用的

默认值可能不完全是“无”


使用jQuery将使这一点更加容易,请参见
el。style
将指
内联
样式,而不是
全局
样式

所以把你的代码改成

<div id="nav_form_container" style="display:none">

代码将起作用


el.style
指的是
inline
样式,而不是
global
样式

所以把你的代码改成

<div id="nav_form_container" style="display:none">

代码将起作用


这对我有用。我相信您可能一直在使用div作为选择器,而不是变量的ID

HTML:

<button id="icon">Test Button</button>
<div id="test" style="display: none;">I am hidden</div>

这对我有用。我相信您可能一直在使用div作为选择器,而不是变量的ID

HTML:

<button id="icon">Test Button</button>
<div id="test" style="display: none;">I am hidden</div>

你可以创建一个摆弄你的问题吗?你用什么浏览器测试过?你是在尝试选择一个div,还是一个id为“div”的html元素?我在chrome和IE中都测试过,我正在选择一个div来显示:block你可以创建一个摆弄你的问题吗?你用什么浏览器测试过?你是在尝试选择一个div,或者一个id为“div”的html元素?我已经在chrome和IE中测试过了,我正在选择一个div来显示:block使用jQuery也会让它变得更重:)嘿,Alexis,这成功了!有什么解释吗?我的默认css是display:none for the div。正如我在回答中所说,“none”并不总是被视为“none”(它也将取决于浏览器)。我不知道确切原因。我碰到的东西,就像你一样。。。8-)使用jQuery也会使问题变得更严重:)嘿,Alexis,这很有效!有什么解释吗?我的默认css是display:none for the div。正如我在回答中所说,“none”并不总是被视为“none”(它也将取决于浏览器)。我不知道确切原因。我碰到的东西,就像你一样。。。8-)