各パネルの高さを計算し、この値を変数として返す単純なテキスト アコーディオンを作成しようとしています。のような if ステートメントで値を取得できますがif ( i === 0 ) { $(this).height(); }
、この変数を外部に取得することはできません。変数を使用せずにこれを行うことはできますが、長期的には役に立たなくなりました。
簡単height
に言うと、各要素を計算し、この変数を関数内で使用したいと考えていclick
ます。
var panel = $('.holder div');
var trigger = $('a');
panel.each(function(i) {
//problem starts when i try to calculate each ele's height
var eachEleHeight = i.height();
trigger.click(function() {
$(this).prev('div').animate({'height':eachEleHeight+'px'},500);
//this works widthout var eachEleHeight but became useless
//$(this).prev('div').animate({'height':'300px'},500);
});
//this is for hiding text at doc.ready
panel.css('height','56px');
});