Wpis z mikrobloga

Witam. Mam sobie taki skrypcik w #jquery

var shortestColumn = [].reduce.call(jQuery(".articles-columns .articles-column"), function (sml, cur) {
console.log(jQuery(cur).outerHeight());
console.log(jQuery(sml).outerHeight());
return jQuery(sml).outerHeight() <= jQuery(cur).outerHeight() ? sml : cur;
});

Problem jest taki, że zaraz po załadowaniu strony (albo po ctrl+f5) w #firefox mam takie wyniki:
0, 0, 0, 366, 325, 366, 675, 366
po odświeżeniu strony:
0, 0, 0, 1057, 325, 1057, 675, 1057
#chrome zawsze zwraca:
0, 0, 0, 1073, 321, 1073, 688, 1073
#safari (nowa strona):
0, 0, 0, 1019, 321, 1019, 688, 1019
#safari (odświżone):
0, 0, 0, 382, 321, 382, 688, 382

Skrypt uruchamia się dopiero po $(document).ready(). Próbowałem użyć $(window).load(), ale wtedy firefox zawsze zwraca mi błędny wynik: 0, 0, 0, 1057, 325, 1057, 675, 1057.
Po prostu jeżeli parzyste wyniki są >1000 (np. 0, 0, 0, 1057, 325, 1057, 675, 1057), to źle mi rozkładają się elementy na stronie. Jeżeli parzyste wyniki są <1000 (np.0, 0, 0, 366, 325, 366, 675, 366), to elementy są wyświetlane poprawnie.
W jaki sposób mam zrobić, aby zawsze wyniki były jednakowe i do tego na wszystkich przeglądarkach?

P.S. Używałęm też height() i mam taki sam błąd.

#webdev #javascript #css