使用javascript控制div可见性样式
嗨,我有这个JS代码:使用javascript控制div可见性样式,javascript,html,css,visibility,Javascript,Html,Css,Visibility,嗨,我有这个JS代码: <script type="text/javascript"> function on_off(div) { var divbox = document.getElementByID(div); if(divbox.style.visibility == 'hidden') divbox.style.visibility = 'visible'; else
<script type="text/javascript">
function on_off(div)
{
var divbox = document.getElementByID(div);
if(divbox.style.visibility == 'hidden')
divbox.style.visibility = 'visible';
else
divbox.style.visibility = 'hidden';
}
</script>
由于某种原因,它不起作用。div可见性已关闭,当我单击链接时,它将不可见
有什么建议吗?在sintax成瘾问题中,您的脚本有问题;测试目标元素的
style
属性,但是通过css
设置style
,因此在第一次单击时将visibility
设置为hidden,因此存在BUG,而您必须执行以下操作
function on_off(div)
{
var divbox = document.getElementById(div); //Id, not ID
if(divbox.style.visibility == 'hidden')
divbox.style.visibility = 'visible';
else
divbox.style.visibility = 'hidden';
}
JavaScript
function on_off(div)
{
var divbox = document.getElementById(div);
if(divbox.style.visibility == 'hidden')
divbox.style.visibility = 'visible';
else
divbox.style.visibility = 'hidden';
}
CSS
#postArticle
{
//visibility: hidden;
}
HTML
<div class="adminmenu">
<ul>
<li><a onclick="on_off('postArticle')" href='#'>Post Article</a></li>
<li><a href='#'>Edit Articles</a></li>
<li><a href='#'>View Logs</a></li>
<li><a href='#'>View Comments</a></li>
</ul>
</div>
<div id="postArticle" style="visibility: hidden">
<div class="content">
<article class="contentbox1">
<div id="articleHEADER">
<h2>Post an Article</h2>
</div>
<p>Title</p>
<input type="text" name="Title" size="40">
<br>
<p>Content</p>
<textarea rows="4" cols="50">
</textarea>
</article>
</div>
</div>
发表文章
头衔
内容
显示
和可见性
是两个不同的CSS属性<代码>显示没有可见
值,而可见
有。不要把它们弄混了。很抱歉,我试图编辑JS代码,在这里发布时就这样留下了。当我将其替换为时,我仍然无法工作visibility@user3703944张贴JSFiddle@Infer-对不起,我是一个很糟糕的javascript用户。谢谢你解决了我的问题@nicael mmmh有一个bug,只有在第一次单击后才能工作;)@推断一个愚蠢的问题:为什么“有一个bug”?因为隐藏的可见性是由css设置的,所以您的解决方案只能在第二个阶段工作click@nicael已经测试过了,它有bug,但是你已经解决了这个问题:)谢谢@inferon消除了bug
function on_off(div)
{
var divbox = document.getElementById(div);
if(divbox.style.visibility == 'hidden')
divbox.style.visibility = 'visible';
else
divbox.style.visibility = 'hidden';
}
#postArticle
{
//visibility: hidden;
}
<div class="adminmenu">
<ul>
<li><a onclick="on_off('postArticle')" href='#'>Post Article</a></li>
<li><a href='#'>Edit Articles</a></li>
<li><a href='#'>View Logs</a></li>
<li><a href='#'>View Comments</a></li>
</ul>
</div>
<div id="postArticle" style="visibility: hidden">
<div class="content">
<article class="contentbox1">
<div id="articleHEADER">
<h2>Post an Article</h2>
</div>
<p>Title</p>
<input type="text" name="Title" size="40">
<br>
<p>Content</p>
<textarea rows="4" cols="50">
</textarea>
</article>
</div>
</div>