Centrer un div position:fixed avec jquery et css

Bon marre de me battre avec CSS pour faire des choses pas conventionnelles...

Je voulais centrer un div en position:fixed avec jquery (avec des div de taille différente). Réponse trouvée sur StackOverflow :

On ajoute une fonction à jquery :

jQuery.fn.center = function () {
  this.css("position","absolute");
  this.css("top", ( $(window).height() - this.height() ) / 2+$(window).scrollTop() + "px");
  this.css("left", ( $(window).width() - this.width() ) / 2+$(window).scrollLeft() + "px");
  return this;
}

Et on applique ça à l'élément en question :

$('#mondiv').center();

Source : https://stackoverflow.com/questions/210717/what-is-the-best-way-to-center-a-div-on-the-screen-using-jquery