jQuery で toggle する場合に display のプロパティ値を取得する場合は toggle のアクションが終わってから取得する

jQuery でコーディングをしていたところ、いくら取得しても display の値が block のままで困っていました。これでは現在のボックスの状況を取得することができないため、ボックスの開閉に合わせてアクションを実行することができません。

display のプロパティ値が block のままのコード

以下のコードで同じ値が取得されていました。

1
2
3
4
5
$("#calculateSearch h3").click(function () {
	var calculateSearchBox = j$("#calculateSearch .content");
	calculateSearchBox.toggle('normal');
	console.log(calculateSearchBox.css('display'));
});

toggle のコールバック関数で取得することで改善できます

toggle の実行中ではプロパティ値が変わっていませんので、終了してから取得を実行します。

1
2
3
4
5
6
$("#calculateSearch h3").click(function () {
	var calculateSearchBox = j$("#calculateSearch .content");
	calculateSearchBox.toggle('normal', function() {
		console.log(calculateSearchBox.css('display'));
	});
});

コメント

コメントは受け付けていません。