document.ready vs document.onLoad

Zastanawiam się, który z nich jest właściwy do uruchomienia kodu js, który oblicza wysokość menu pionowego w zależności od wysokości okna i ustawia go na czas, nie późno, nie wcześnie.

ja używamdocument.ready ale to nie pomaga mi w rozwiązaniu problemu, czasami nie jest ustawiane, muszę przeładować stronę, potem działa, ale nie przy pierwszym ładowaniu.

Jak rozwiązać ten problem?

Oto mój kod:

$(document).ready(function(){
     var winh = document.body.clientHeight;
     var footer = document.getElementById('footer').offsetHeight;
     document.getElementById('sidebar').style.height = winh - 5/2*footer + 'px';
     document.getElementById('sidebar').style.marginBottom = footer + 'px';

     $(window).resize(function(){
         var winh = document.body.clientHeight;
         var footer = document.getElementById('footer').offsetHeight;
         document.getElementById('sidebar').style.height = winh - 5/2*footer + 'px';
         document.getElementById('sidebar').style.marginBottom = footer + 'px';
     });
});

questionAnswers(1)

yourAnswerToTheQuestion