На нашей странице мы часто используем анимацию на основе javascript для перемещения / изменения размера элемента, большинство из них используют setTimeout или setInterval для изменения позиции или размера элемента:
Например:
function open() {
var w=parseInt(foo.style.width);
if(w>=200) clearTimeout(t);
else{
foo.style.width = +1+'px';
t=setTimeout(open,20); // call doMove in 20msec
}
}
function init() {
foo = document.getElementById('dv'); // get the "foo" object
foo.style.width = '0px'; // set its initial position to 0px
open(); // start animating
}
Приведенный выше код хочет показывать div # foo медленно, но, как вы видите, я установил максимальную ширину div в 200px, чтобы остановить анимацию.
Но что еслиреальный размер содержимого div должен быть больше 200?
То есть я не могу получить окончательную ширину элемента.
Какое общее решение?
Здесьэто живой пример :