Javascript.RU

Создать новую тему Ответ
 
Опции темы Искать в теме
  #1 (permalink)  
Старый 29.03.2021, 13:02
Кандидат Javascript-наук
Отправить личное сообщение для fori Посмотреть профиль Найти все сообщения от fori
 
Регистрация: 27.01.2021
Сообщений: 117

Анимированое удаление
Здраствуйте, помогите пожалуйста понять почему не работает анимированое удаление в коде
<!DOCTYPE html>

<body>
	<div class="container">
		<div id="del" onclick="del()"></div>
	</div>
</body>
<style>
	.container {
		width: 30vmin;
		background: green;
		transition: all 5s ease;
	}

	#del {
		width: 10vmin;
		height: 10vmin;
		background: red;
	}
</style>
<script>
	function del() {
		document.getElementById("del").style = "display:none";
	}
</script>

</html>

И как ето реализовать (я представляю еот как резкое исчезновение красного квадрата и медленное уменшение зеленого)

Последний раз редактировалось fori, 29.03.2021 в 13:05.
Ответить с цитированием
  #2 (permalink)  
Старый 29.03.2021, 14:23
Аватар для рони
Профессор
Отправить личное сообщение для рони Посмотреть профиль Найти все сообщения от рони
 
Регистрация: 27.05.2010
Сообщений: 33,126

fori,
анимировать можно только значения с циферками
Ответить с цитированием
  #3 (permalink)  
Старый 30.03.2021, 00:16
Кандидат Javascript-наук
Отправить личное сообщение для fori Посмотреть профиль Найти все сообщения от fori
 
Регистрация: 27.01.2021
Сообщений: 117

Тоесть в моем случае есть смысл использовать position:absolute, измерить чему равно height дочернео елемента и передавать (его+margins) в родительский-анимируемый div?
Как я могу получить значение height из под js (могу ли я получить значение в vmin, [если все что внутри етого дочернего компонента имеет размер в vmin] или только в px) Если только в пикселях как мне реагировать на изменение масштаба (чтоб не зависимо от масштаба размеры не менялись)
PS: проблемы таких требований к верстке вызваны тем что ето игровой интерфейс а не просто сайт))
Ответить с цитированием
  #4 (permalink)  
Старый 30.03.2021, 00:52
Аватар для Aetae
Тлен
Отправить личное сообщение для Aetae Посмотреть профиль Найти все сообщения от Aetae
 
Регистрация: 02.01.2010
Сообщений: 6,590

Можно навертеть - скрывать через transform, или там opacity, что не затрагивает реальных размеров, а потом медленно уже сводить сам размер к нулю, после чего удалять. Т.е. заявзать всю анимацию на сам удаляемый элемент.
Получить же высоту можно как el.offset\client\scrollHeight либо el.getBoundingClientRect().height, либо getComputedStyle(el).height, в зависимости от того что нужно. Всегда исключительно в прикселях.
Но нет никаких проблем привести значение на момент вызова к vmin или любому другому - простая математика.
__________________
29375, 35
Ответить с цитированием
Ответ



Опции темы Искать в теме
Искать в теме:

Расширенный поиск


Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
Удаление элементов массива у другого массива _marisha Общие вопросы Javascript 8 31.03.2020 07:19
Удаление всех &nbsp; из текста (поиск и удаление любого слова из текста) Stenli jQuery 5 28.06.2017 19:47
Удаление дерева моделей Infarch ExtJS 1 18.07.2016 11:27
автоматическое удаление скоупа директивы при удаление dom узла FanAizu Angular.js 0 25.08.2015 21:38
Динамическое удаление строк таблицы Tankist Events/DOM/Window 16 03.07.2013 16:42