Vérifiez si le contenu évolue

Je dois savoir quand mon contenu débordera mon div. Si c'est le cas, je placerai un lien pour ouvrir la page dans une nouvelle fenêtre avec tout le contenu.

À votre santé,

DalexL

Ceci est un plugin jquery pour un texte adapté à la largeur et à la hauteur:

(function($) { $.fn.fitText = function(options) { options = $.extend({ width: 0, height: 0 }, options); $(this).each(function() { var elem = $(this); if (options.height > 0) { while (elem.height() > options.height) { elem.text(elem.text().substring(0, (elem.text().length - 4)) + 'YourLink'); } } if (options.width > 0) { while (elem.width() > options.width) { elem.text(elem.text().substring(0, (elem.text().length - 4)) + 'YourLink'); } } }); } })(jQuery); 

Utilisation de jQuery et Marquee Text lorsque le texte débordement :

 $('div').each(function(){ var $this = $(this); if ($this.get(0).scrollHeight > $this.height()) { $this.after('<a href="#" target="new">Read More</a>'); } }); 

http://jsfiddle.net/eF7jf/

Aucune réponse jQuery:

 if( elements.scrollHeight > element.clientHeight ) alert('content-overflow')//not to be confused with stackoverflow 

Si vous créez une structure comme celle-ci:

 <div id="outer" style="overflow: auto"> <div id="inner"> content </div> </div> 

Alors le débordement survient lorsque inner largeur ou la hauteur de l' outer dépasse celle de l' outer car l'extérieur suppose que les dimensions de la fenêtre et de l'intérieur supposent une largeur et une hauteur minimales nécessaires pour afficher tout le contenu.

Vous pouvez marquer l' outer comme visibility: hidden pour l'amener à la mise en page mais pas à l'affichage.

Si le contenu comprend le position: fixed contenu position: fixed , cette partie ne sera pas prise en compte (et CSS 2 ne sera même pas coupé).