我有多個部分,三是不同高度的精確,有一個基本的佈局:jQuery的:在多段切換高度與一個功能
<section>
<h2>My heading</h2>
</section>
我正在尋找一種方式來開始他們展示,但當用戶點擊<h2>
時,要將該部分減少到68px的高度。主要的問題是,每個部分是不同的高度(即第一個是478px,第二個2118px和第三個247px),但我不想爲每個部分編寫單獨的函數,並希望完成所有工作一。它工作正常,直到我關閉第一部分,而不是重新打開它,點擊第二部分的<h2>
。這就是問題出現的地方。所以我的問題是,有沒有這樣做或我需要爲每個部分單獨的功能?
sectionSize = "normal";
$(document).ready(function(){
//var sectionSize = "normal";
$("h2").click(function(){
var parentSection = $(this).parents("section");
if (sectionSize == "normal") {
sectionHeight = parentSection.height();
parentSection.animate({height:"68px"},"fast"),
sectionSize = "collapsed";
} else {
parentSection.animate({height:sectionHeight},"fast"),
sectionSize = "normal";
}
});
});
我有一個更全面的版本在這裏http://jsfiddle.net/Skooljester/94yqX/與HTML和CSS進一步充實。
這將是一個完美的答案,是我一直在尋找,但我遇到的問題是變量'sectionSize'的變化。如果我點擊一個部分,它會崩潰並將'sectionSize'標記爲'collapsed',但如果我點擊另一個部分,它也會崩潰,但不會恢復到正常大小。 –
你可以用類似的方法解決這個問題。使用數據函數將sectionSize添加到元素本身,並檢查該元素,而不是使用全局變量。 –
這是完美的!非常感謝! –