所以...我有這個小網頁有兩個div,一個按鈕,兩個css類和一個javascript函數。CSS 3動畫沒有執行第一次被稱爲
這個想法是,當按下按鈕時,該功能改變了div的css類,並用一個漂亮的轉換隱藏它。當再次按下它,它的opossite:
的HTML:
<div id="div1" >
<div id="div2" >
Here be HTML stuffs.
</div>
</div>
的JavaScript:
hideNShow(){
var w = $('#div2');
var height = w.outerHeight();
if(document.getElementById("div1").className=="hidden")
document.getElementById("div1").className="visible";
document.getElementById("div1").style.height=height + "px";
} else if (document.getElementById("div1").className=="visible") {
document.getElementById("div1").className="hidden";
document.getElementById("div1").style.height=0 + "px";
}
}
而CSS類:
.visible {
visibility: visible;
opacity: 1;
transition: all 1s ease;
}
.hidden {
visibility: hidden;
opacity: 0;
height:0;
overflow: hidden;
transition: all 1s ease;
}
按鈕只是在不同div中引用該功能的按鈕。
我現在的問題是,如果div1具有「隱藏」作爲起始類(),它工作得很好(所有的轉換按照預期的延遲按預期工作),但是如果起始類是「可見的」第一次按下按鈕時,div會自動隱藏,忽略轉換。
我環顧四周,什麼都沒發現。看來,第一個
編輯:修復了一個名稱爲div的代碼上的錯字。
你似乎缺少這一行'的document.getElementById( 「格」)style.height =身高+ 「PX」 正確的'id';'因爲它無法找到一個帶有'id = div'的元素 –
您可以使用jQuery for div2,但爲div1選擇普通的JS。這很有趣:) – Anarion
你應該有一些默認的高度。將'height:auto'添加到'visible'類並檢查。而且看起來你沒有默認的任何課程。 –