[英]Javascript show hide css/html/js problem
當我在html中調用showhide方法時,某些代碼無法正常工作。 該方法顯示然后在此網頁上隱藏了一些html內容,但是html或css無法正常運行。 例如,當頁面加載到瀏覽器中時,將顯示div的空間僅為空白空間,根本不應該有空間,但是顯示div的空間僅填充了該空間。 我認為這可能與css有關,但是我不確定。 這是我用來顯示和隱藏的CSS ID。
#showAndHide {
text-align: justify;
height: auto;
width: 700px;
margin: auto;
position: relative;
padding-top: 10px;
padding-bottom: 10px;
padding-left: 20px;
padding-right: 10px;
visibility: hidden;
}
這是正在應用的html的一個小示例。
<div id="showAndHide">
<div id="physicalAdress">
<div class="h4">
<h4> What is your physical address? </h4>
</div>
<p> Property name (if you have one) </p>
<input type="text" name="propertyName" /><br/>
該html在showandhide div中,然后在用戶輸入div中,該div是:
.userinput {
text-align: justify;
height: auto;
width: 700px;
margin: auto;
position: relative;
border-collapse: collapse;
padding-top: 10px;
padding-bottom: 10px;
padding-left: 20px;
padding-right: 10px;
border-right-style: solid;
border-left-style: solid;
}
這是Javascript方法。
function showHideDiv()
{
var divstyle = new String();
divstyle = document.getElementById("showAndHide").style.visibility;
if(document.getElementById("yesPrint").checked == true)
{
document.getElementById("showAndHide").style.visibility = "visible";
}
if(document.getElementById("noPrint").checked == true)
{
document.getElementById("showAndHide").style.visibility = "hidden";
}
}
基本上,當我運行頁面並顯示內容時,樣式會傾斜,並且與顯示和隱藏內容不同的html的位置也會偏移。
任何想法/幫助將不勝感激。
使用display:none
代替visibility: hidden;
。
visibility: hidden;
為元素保留空間
更改visibility:hidden
以display:none
以防止元素在隱藏時占用空間。
您可能需要稍微更改JavaScript,但是由於您尚未發布JavaScript,因此我不能肯定地說,但是您將需要以下內容:
element.style.display = "block"; //Show the element
function toggle_show(id) {
var el = document.getElementById(id);
if (el && el.style) {
el.style.display = el.style.display == 'none' ? 'block' : 'none';
}
}
http://webdesign.about.com/od/css/f/blfaqhidden.htm引用網頁設計:
“可見性:隱藏隱藏元素,但是它仍然占據布局中的空間。
顯示:無將元素從文檔中完全刪除。 即使它的HTML仍在源代碼中,它也不會占用任何空間。”
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.