Maison > Questions et réponses > le corps du texte
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)
为情所困2017-05-18 11:02:38
Vous pouvez utiliser l'attribut scrollHeight
et l'attribut clientHeight
de l'élément pour juger quand scrollHeight
est supérieur à clientHeight
, l'élément peut défiler verticalement ; si vous souhaitez détecter le défilement horizontal, vous pouvez utiliser scrollWidth
et clientWidth
scrollHeight
属性和clientHeight
属性来判断, 当scrollHeight
大于clientHeight
的时候,元素就是可以垂直滚动的;如果检测水平滚动的话,可以用scrollWidth
和clientWidth
var element = document.getElementById('element');
if (element.scrollHeight > element.clientHeight) {
...
}
关于scrollHeight
和clientHeight
.
rrreee
Concernant scrollHeight
et clientHeight
, vous pouvez lire l'introduction de MDN :
clientHeight#🎜🎜#