通过使用此方法,我可以使用2个按钮显示/隐藏元素:
<script type="text/javascript">
function showStuff(id) {
document.getElementById(id).style.display = 'block';
}
function hideStuff(id) {
document.getElementById(id).style.display = 'none';
}
</script>
<input type="button" onClick="hideStuff('themes')" value="Hide">
<input type="button" onClick="showStuff('themes')" value="Show">
<div id="themes" style="display:block">
<h3>Stuff</h3>
</div>
有没有方法可以使用单个按钮?也许如果&amp;别的?
答案 0 :(得分:4)
您已经回答了问题...使用if
/ else
:
function toggle(id) {
var element = document.getElementById(id);
if (element) {
var display = element.style.display;
if (display == "none") {
element.style.display = "block";
} else {
element.style.display = "none";
}
}
}
如果您使用{{>的非默认值隐藏/显示inline
或inline-block
元素,或,这将不是完全万无一失的1}} on elements ...例如将div的display
设置为“inline”(无论出于何种原因),然后尝试使用此函数
答案 1 :(得分:0)
是,否则将起作用
function toggle(id){
var elem = document.getElementById(id);
if(elem.style.display == 'block'){
elem.style.display == 'none'
} else if(elem.style.display == 'none'){
elem.style.display == 'block'
}
}
答案 2 :(得分:0)
我认为你的意思是这样的:
function toggle(id){
var elem = document.getElementById(id);
if(elem.style.display == "block"){
elem.style.display="none";
} else {
elem.style.display="block";
}
}
答案 3 :(得分:0)
这是另一种解决方案。您也可以使用 document.getElementById
来返回文档中与指定选择器或选择器组匹配的第一个元素,而不是使用document.querySelector
。
解决方案代码:
function toggleShow() {
var elem = document.querySelector(id);
if(elem.style.display == 'inline-block'){
elem.style.display="none";
}
else {
elem.style.display = "inline-block";
}
}