子要素の高さを動的に変更しようとしているコードがあり、何か奇妙なことに遭遇しています。これまでの私のコードは次のとおりです。
var heights = [],
tallest;
$(window).resize(function() {
$(elem).children().each(function (i) {
heights[i] = $(this).height();
tallest = Math.max.apply(null, heights);
$(this).height(tallest);
});
});
これは、各子要素の高さを見つけて配列にプッシュし、その配列で最大の値を見つけて、その値に基づいて高さを設定しようとするだけです。見つかった各子要素tallest
は、サイズ変更時の変数値に応じて変化すると予想されますが、そうではなく、同じままです。ただし、このコードは機能します。
var heights = [],
number = 1000;
$(window).resize(function() {
$(elem).children().each(function (i) {
heights[i] = $(this).height();
tallest = Math.max.apply(null, heights);
$(this).height(number--);
});
});
ウィンドウのサイズを変更するheight
と、属性は変数とインラインで変更されます。number
何を与える?
2 番目のコードは機能し、最初のコードは機能しないのはなぜですか? それらは私にはほとんど同じコードのように見えます。