 
			
				07.09.2022, 21:18
			
			
			
		  
	 | 
 
	
		
		
		
			
			| 
			
				
				
				 Аспирант 
				
				
				
				
	
 
 
 
			 | 
			  | 
			
				
				
					Регистрация: 05.08.2022 
					
					
					
						Сообщений: 64
					 
					
					
			
		
 
		 
		
			 | 
		 
		 
		
	 | 
 
	| 
	
	
		
		
			
			 
				Окончательные координаты элемента на странице
			 
			
		
		
		
		Подскажите пожалуйста, если я правильно понимаю, то происходит следующее: 
 
К примеру загружается страница и я поставил прослушивать Mutationobserver на появление класса отвечающего за какую то к примеру кнопку. 
 
Mutationobserver срабатывает - сообщая о том, что в document`е появился элемент отвечающий за кнопку. 
 
Далее я сразу вызываю .getBoundingClientRect() на этом элементе и соотвесвенно возвращаются координаты, но, если вызвать getBoundingClientRect() условно через еще одну секунду, то коордианты будут уже другие.  
 
Если я правильно понимаю, то элемент на странице, как бы появляются не сразу на своем окончательном месте, а как бы отрисовывается постепенно и если это так - то вот, как можно понять, что элемент уже все - на всоем месте и коордианты его более не изменятся ? 
		
	
		
		
		
		
		
		
	
		
		
	
	
	 | 
 
 
	 
		 | 
 
 
	
	
	
		
	
		
		
		
			
			 
			
				08.09.2022, 08:33
			
			
			
		  
	 | 
 
	
		
		
		
			  | 
			
			
				
				
				 Профессор 
				
				
				
				
	
 
 
 
			 | 
			  | 
			
				
				
					Регистрация: 03.02.2020 
					
					
					
						Сообщений: 2,777
					 
					
					
			
		
 
		 
		
			 | 
		 
		 
		
	 | 
 
	| 
	
	
		
		
		
		
		 Смотря в какой момент срабатывает Mutationobserver. Если до события window.onload, то до этого момента стили css еще могут быть не загружены и не применены, img не загружены, и их размеры не известны, поэтому окончательные координаты не известны. 
Если до события DOMContentLoaded, то даже не все элементы загрузились и не все DOM дерево построено. По мере построения дерева и размещения других элементов, координаты могут меняться. 
		
	
		
		
		
		
		
		
		
						  
				
				Последний раз редактировалось voraa, 08.09.2022 в 08:48.
				
				
			
		
		
	
		
		
	
	
	 | 
 
 
	 
		 | 
 
 
	
	
	
		
	
		
		
		
			
			 
			
				08.09.2022, 09:16
			
			
			
		  
	 | 
 
	
		
		
		
			
			| 
			
				
				
				 Аспирант 
				
				
				
				
	
 
 
 
			 | 
			  | 
			
				
				
					Регистрация: 05.08.2022 
					
					
					
						Сообщений: 64
					 
					
					
			
		
 
		 
		
			 | 
		 
		 
		
	 | 
 
	
	
	
		
		
		
		
		
	
 
	
		
			Сообщение от voraa
			 
		
	 | 
 
	
		Смотря в какой момент срабатывает Mutationobserver. Если до события window.onload, то до этого момента стили css еще могут быть не загружены и не применены, img не загружены, и их размеры не известны, поэтому окончательные координаты не известны. 
Если до события DOMContentLoaded, то даже не все элементы загрузились и не все DOM дерево построено. По мере построения дерева и размещения других элементов, координаты могут меняться.
	 | 
 
	
 
 Немного по другому - точно после событий window.onload и DOMContentLoaded. Я немного упрощенно описал.
 
По факту так - страница полностью загружена, я нажимаю на ней кнопку и после нажатия кнопки появляется/выезжает условно контекстное меню, ну то есть выезжает "окошечко" с другим кнопками - вот ее я и отслеживаю в Mutationobserver и вот именно там проблема с координатами.  
		
	
		
		
		
		
		
		
		
						  
				
				Последний раз редактировалось Andy_kun, 08.09.2022 в 09:22.
				
				
			
		
		
	
		
		
	
	
	 | 
 
 
	 
		 | 
 
 
	
	
	
		
	
		
		
		
			
			 
			
				08.09.2022, 10:48
			
			
			
		  
	 | 
 
	
		
		
		
			  | 
			
			
				
				
				 Профессор 
				
				
				
				
	
 
 
 
			 | 
			  | 
			
				
				
					Регистрация: 03.02.2020 
					
					
					
						Сообщений: 2,777
					 
					
					
			
		
 
		 
		
			 | 
		 
		 
		
	 | 
 
	| 
	
	
		
		
		
		
		 Как "выезжает"? Оно постепенно двигается? 
		
	
		
		
		
		
		
		
	
		
		
	
	
	 | 
 
 
	 
		 | 
 
 
	
	
	
		
	
		
		
		
			
			 
			
				08.09.2022, 10:50
			
			
			
		  
	 | 
 
	
		
		
		
			
			| 
			
				
				
				 Аспирант 
				
				
				
				
	
 
 
 
			 | 
			  | 
			
				
				
					Регистрация: 05.08.2022 
					
					
					
						Сообщений: 64
					 
					
					
			
		
 
		 
		
			 | 
		 
		 
		
	 | 
 
	
	
	
		
		
		
		
		
	
 
	
		
			Сообщение от voraa
			 
		
	 | 
 
	| 
		Как "выезжает"? Оно постепенно двигается?
	 | 
 
	
 
 Оно быстро, но постепенно появляется.  
		
	
		
		
		
		
		
		
	
		
		
	
	
	 | 
 
 
	 
		 | 
 
 
	
	
	
		
	
		
		
		
			
			 
			
				08.09.2022, 11:00
			
			
			
		  
	 | 
 
	
		
		
		
			  | 
			
			
				
				
				 Профессор 
				
				
				
				
	
 
 
 
			 | 
			  | 
			
				
				
					Регистрация: 03.02.2020 
					
					
					
						Сообщений: 2,777
					 
					
					
			
		
 
		 
		
			 | 
		 
		 
		
	 | 
 
	| 
	
	
		
		
		
		
		 Постепенно появляться можно по разному. Можно просто менять прозрачность, можно двигаться (выезжать) сбоку или сверху.  
Если двигается, то конечно координаты меняются. 
		
	
		
		
		
		
		
		
	
		
		
	
	
	 | 
 
 
	 
		 | 
 
 
	
	
	
		
	
		
		
		
			
			 
			
				08.09.2022, 11:43
			
			
			
		  
	 | 
 
	
		
		
		
			
			| 
			
				
				
				 Аспирант 
				
				
				
				
	
 
 
 
			 | 
			  | 
			
				
				
					Регистрация: 05.08.2022 
					
					
					
						Сообщений: 64
					 
					
					
			
		
 
		 
		
			 | 
		 
		 
		
	 | 
 
	
	
	
		
		
		
		
		
	
 
	
		
			Сообщение от voraa
			 
		
	 | 
 
	
		Постепенно появляться можно по разному. Можно просто менять прозрачность, можно двигаться (выезжать) сбоку или сверху.  
Если двигается, то конечно координаты меняются.
	 | 
 
	
 
 Да, но все таки - это возможно или нет ?  
		
	
		
		
		
		
		
		
	
		
		
	
	
	 | 
 
 
	 
		 | 
 
 
	
	
	
		
	
		
		
		
			
			 
			
				08.09.2022, 11:53
			
			
			
		  
	 | 
 
	
		
		
		
			  | 
			
			
				
				
				 Профессор 
				
				
				
				
	
 
 
 
			 | 
			  | 
			
				
				
					Регистрация: 03.02.2020 
					
					
					
						Сообщений: 2,777
					 
					
					
			
		
 
		 
		
			 | 
		 
		 
		
	 | 
 
	| 
	
	
		
		
		
		
		 Что возможно? 
Создается какой то элемент, он внедряется в DOM с какими то координатами. Потом, по какой то причине начинает "выезжать". Пусть даже быстро. Разумеется его координаты меняются. 
		
	
		
		
		
		
		
		
	
		
		
	
	
	 | 
 
 
	 
		 | 
 
 
	
	
	
		
	
		
		
		
			
			 
			
				08.09.2022, 11:57
			
			
			
		  
	 | 
 
	
		
		
		
			  | 
			
			
				
				
				 Профессор 
				
				
				
				
	
 
 
 
			 | 
			  | 
			
				
				
					Регистрация: 03.02.2020 
					
					
					
						Сообщений: 2,777
					 
					
					
			
		
 
		 
		
			 | 
		 
		 
		
	 | 
 
	
	
	
		
		
		
		
		
	
 
	| 
		
			Сообщение от Andy_kun
			
		
	 | 
 
	| 
		вот, как можно понять, что элемент уже все - на всоем месте и коордианты его более не изменятся ?
	 | 
 
	
 
 Смотря, как организовано появление этого элемента. 
Если там используется CSS со свойством transition, то  надо ловить событие transitionend.
 https://developer.mozilla.org/ru/doc...itionend_event 
		
	
		
		
		
		
		
		
	
		
		
	
	
	 | 
 
 
	 
		 | 
 
 
 
 
 
 
 
	 | 
 
 
 |