Показать сообщение отдельно
  #3 (permalink)  
Старый 31.08.2014, 22:53
Аватар для ixth
Профессор
Отправить личное сообщение для ixth Посмотреть профиль Найти все сообщения от ixth
 
Регистрация: 19.01.2010
Сообщений: 354

Да, действительно похоже на баг. Я тебе больше скажу, посмотри на мой вариант:

<button id="btn">smooth</button><br/>
<div></div>
<div id="d"></div>
<style>
div {
	display:inline-block;
	width: 100px; height: 100px;
	background-color: red;
	opacity: 1;
	transition-property: all;
	transition-duration: 1000ms;
}

#d {
	background-color: blue;
	opacity: 0;
}
</style>

<script>
var div = document.getElementsByTagName("div")[0];
var d = document.getElementById("d");
d.parentNode.removeChild(d);

document.getElementById("btn").onclick = function () {
 	div.style.opacity = 0;
 	setTimeout(function(){ 
 		document.body.appendChild(d);
*!*
 		console.log(d.offsetTop);
*/!*
 		d.style.opacity = 1;
 	}, 1000);
};
</script>


Видимо, это как-то связано с оптимизацией обращений к DOM. Есть там какая-то хитрота, не помню точно, отпишу, если найду.
Ответить с цитированием