CSS свойство overflow позволяет управлять реакцией контейнера (например, DIV) при его переполнении. В некоторых случаях бывает необходимо определить факт переполнения, чтобы выполнить какие то действия.
Переполнение контейнера наступает, когда его размеры фиксированы. Т.е. мы имеем CSS вида:
		
		
			
			
			
			
				
					
				|  | div#test-container {     height: 100px;     overflow: hidden; } | 
				
			 
		 
Как определить, что содержание контейнера выходит за его пределы, в данном примере имеет высоту более 100 точек?
		
		
			
			
			
			
				
					
				|  | //найдем объект var obj = document.getElementById('test-container'); //и вот оно решение: if (obj.scrollHeight > obj.clientHeight) {     alert ('Контейнер переполнен'); } | 
				
			 
		 
Аналогично можно проверить переполнение контейнера по ширине.
		
		
			
			
			
			
				
					
				|  | if (obj.scrollWidth > obj.clientWidth) .... | 
				
			 
		 
А ещё лучше оформить эти проверки в виде функций:
		
		
			
			
			
			
				
					
				|  | function ifOverflowedX(obj) {     return obj.scrollWidth > obj.clientWidth; } function ifOverflowedY(obj) {     return obj.scrollHeight > obj.clientHeight; } | 
				
			 
		 
					
										
						
							Данная запись опубликована в 22.03.2016  22:43 и размещена в рубрике Программирование.
																Вы можете перейти в конец страницы и оставить ваш комментарий.
							
						
					
					
					
				Мало букафф? Читайте есчо !
					
						
						Май 13, 2022 г.
						
						С тех пор как стало возможным указать загружаемому в HTML документе скрипту флаги-аттрибуты async и defer, стало необходимо понимать то, в какой очередности скрипты будут исполнены, если они зависят друг от друга.
Так если ваш скрипт зависит от ...
						Читать
					 
					
						
						Сентябрь 8, 2021 г.
						
						Продолжаю публиковать сниппеты кода для drupal 9, на этот раз несколько полезных вещей, связанных с рендерингом меню.
Рендер меню по известному id меню
Вы знаете идентификатор, вам нужен рендер:
[crayon-6904b9da93b8d620545407/]
Рендер ...
						Читать
					 
					
						
						Май 3, 2023 г.
						
						Задачи с бинарными последовательностями мне очень нравятся из-за их "эвристичности".  Решение часто скрывается в двух шагах, но додуматься не просто.
Следующая задача описывается так - нужно сгенерировать n-разрядный "серый код". 
Если вы не ...
						Читать
					 
					
						
						Март 6, 2024 г.
						
						В общем случае, это может быть и "разрыв столбца", зависит от выбранного направления заполнения flex контейнера (задаётся свойством flex-direction).
Суть проблемы в том, что иногда требуется прекратить заполнение вдоль выбранного направления и начать ...
						Читать