最新消息:雨落星辰是一个专注网站SEO优化、网站SEO诊断、搜索引擎研究、网络营销推广、网站策划运营及站长类的自媒体原创博客

javascript - onclick: Have to click twice in order for a div to hideshow - Stack Overflow

programmeradmin0浏览0评论

I have a problem where I have to click twice in order for my JavaScript function to run.

HTML for the button:

<input type="button" id="logintrigger" value="Log In" onClick="hideshow();"/>

JavaScript:

function hideshow() {
    var toggle = document.getElementById('logincontainer');
    toggle.style.display = toggle.style.display == "none" ? "block" : "none";
}

I have been searching around and haven't found anything that helped.

Thank You.

I have a problem where I have to click twice in order for my JavaScript function to run.

HTML for the button:

<input type="button" id="logintrigger" value="Log In" onClick="hideshow();"/>

JavaScript:

function hideshow() {
    var toggle = document.getElementById('logincontainer');
    toggle.style.display = toggle.style.display == "none" ? "block" : "none";
}

I have been searching around and haven't found anything that helped.

Thank You.

Share Improve this question asked Jul 29, 2012 at 19:51 user1512677user1512677 432 silver badges4 bronze badges
Add a ment  | 

2 Answers 2

Reset to default 5

Apply style="display:block" explicitly to logincontainer and then change following line : toggle.style.display = toggle.style.display == "block" ? "none" : "block";

The initial state of display property is more likely to be empty. That's why till you explicitly change it - this js function gets "".

发布评论

评论列表(0)

  1. 暂无评论