jQuery (document) .width () n’inclut pas la largeur en dehors de la zone visible

jQuery(document).width() n’inclut pas la largeur totale (visible + en dehors de visible lorsqu’il y a une barre horizontale). Cela équivaut à jQuery(window).width() . Je pensais que jQuery(window).width() était la largeur de la zone visible et jQuery(document).width() était la largeur totale.

Comment obtenir la largeur totale ou comment obtenir la largeur de la zone en dehors de la zone visible à l’aide de jQuery?

Pour obtenir la largeur de la partie “invisible”, soustrayez simplement la largeur totale du document de la largeur de la fenêtre visible:

 jQuery(document).width() - jQuery(window).width() 

exemple jsFiddle

texte alternatif


Comme vous écrivez, $(document).width() est la largeur totale et $(window).width() est la largeur actuellement visible.

Testé dans les dernières versions de Chrome, Firefox, Internet Explorer et Safari.

Je ne sais pas s’il y a un équivalent jQuery, mais

 document.getElementsByTagName('body')[0].offsetWidth 

devrait donner la largeur correcte de la page, quelle que soit la taille de la fenêtre.

C’est mon erreur. J’affichais la largeur, puis le code quelque part après l’ajustement de la largeur de certains éléments, ce qui rendait le document plus large.

Je pense que ces codes sont également utiles:

 self.innerWidth && (document.documentElement && document.documentElement.clientWidth) && document.body.clientWidth;