Il y a un élément p (id="info") sur la page web. Sa largeur et sa hauteur sont fixes. Le css est le suivant :
p#info
{
width: 10cm;
height: 8cm;
border-style: solid;
border-width: 1pt;
border-color: orange;
overflow: auto;
}
Il contient plusieurs p (ou d'autres éléments au niveau du bloc). Ceux-ci sont obtenus dynamiquement via AJAX, nous ne savons donc pas quelle est la hauteur. S'il y en a trop ou trop, cela entraînera un débordement des informations. Par conséquent, le style de débordement des informations est défini sur automatique, de sorte que les barres de défilement apparaissent lorsque le contenu déborde.
Ma question est la suivante :
Puis-je utiliser javascript pour déterminer si cette information a débordé ?
Ou c'est aussi possible : utiliser javascript pour déterminer si la barre de défilement des informations est apparue ?
(Expliquez le but de ceci. AJAX extraira continuellement des informations du serveur, mais la longueur des entrées obtenues à chaque fois peut être très différente, donc je ne sais pas quel élément sera affiché lorsque les informations déborderont. Si le l'info déborde, le programme supprimera les anciennes entrées de manière appropriée, sinon elles continueront à s'accumuler dans l'info)
Vous pouvez utiliser l'attribut
scrollHeight
et l'attributclientHeight
de l'élément pour juger quandscrollHeight
est supérieur àclientHeight
, l'élément peut défiler verticalement ; si vous souhaitez détecter le défilement horizontal, vous pouvez utiliserscrollWidth
etclientWidth
scrollHeight
属性和clientHeight
属性来判断, 当scrollHeight
大于clientHeight
的时候,元素就是可以垂直滚动的;如果检测水平滚动的话,可以用scrollWidth
和clientWidth
关于
scrollHeightscrollHeight
和clientHeight
. rrreeeConcernant
scrollHeight
etclientHeight
, vous pouvez lire l'introduction de MDN :