我有一个奇怪的问题。
我正在使用切换来显示和隐藏页面的内容。我根据javascript中的onclick事件更改了div元素的可见性,它工作正常。
我的问题是,即使在 onclick 之前隐藏了某些内容,页面中也会分配空间,并且一旦单击事件发生,文本就会出现在空间中。如果我们再次单击,文本就会消失。
我希望空间也消失,否则看起来很尴尬。我将附上图片以供进一步参考。请只有 javascript、css 和 php 没有 jquery 解决方案。
我有一个奇怪的问题。
我正在使用切换来显示和隐藏页面的内容。我根据javascript中的onclick事件更改了div元素的可见性,它工作正常。
我的问题是,即使在 onclick 之前隐藏了某些内容,页面中也会分配空间,并且一旦单击事件发生,文本就会出现在空间中。如果我们再次单击,文本就会消失。
我希望空间也消失,否则看起来很尴尬。我将附上图片以供进一步参考。请只有 javascript、css 和 php 没有 jquery 解决方案。
你应该使用 CSSdisplay: none
而不是visibility: hidden
你正在做的。 visibility: hidden
只是使元素不可见,但在文档中保留其位置,而display: none
从文档流中完全删除该项目。
采用
display: none;
代替
visibility: hidden;
没有看到你的代码就很难确定你的错误,但这是一个很好的例子。
<script language="javascript">
function toggle() {
var ele = document.getElementById("toggleText");
var text = document.getElementById("displayText");
if(ele.style.display == "block") {
ele.style.display = "none";
text.innerHTML = "show";
}
else {
ele.style.display = "block";
text.innerHTML = "hide";
}
}
</script>
<a id="displayText" href="javascript:toggle();">show</a> <== click Here
<div id="toggleText" style="display: none"><h1>peek-a-boo</h1></div>