-1

我有一个奇怪的问题。

我正在使用切换来显示和隐藏页面的内容。我根据javascript中的onclick事件更改了div元素的可见性,它工作正常。

我的问题是,即使在 onclick 之前隐藏了某些内容,页面中也会分配空间,并且一旦单击事件发生,文本就会出现在空间中。如果我们再次单击,文本就会消失。

我希望空间也消失,否则看起来很尴尬。我将附上图片以供进一步参考。请只有 javascript、css 和 php 没有 jquery 解决方案。 问题的图像

4

3 回答 3

5

你应该使用 CSSdisplay: none而不是visibility: hidden你正在做的。 visibility: hidden只是使元素不可见,但在文档中保留其位置,而display: none从文档流中完全删除该项目。

于 2012-09-12T19:04:42.873 回答
2

采用

display: none;

代替

visibility: hidden;
于 2012-09-12T19:04:06.853 回答
1

没有看到你的代码就很难确定你的错误,但这是一个很好的例子。

<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>
于 2012-09-12T19:05:30.830 回答