Назовите меня сумасшедшим, но, похоже, у вас есть ответ на свой вопрос здесь.Вы уже знаете, как использовать jquery animate, так почему бы не использовать его вместо переопределения CSS в вашем setTimeout?
setTimeout(function() {
$("#tablet,#phone,#television,#web,#social,#fusion").animate({
width: "0px",
height: "0px",
marginLeft: "0%",
marginTop: "0px",
}, 750);
}, 2000 );
Я неправильно прочитал ваш вопрос?Или вы не хотите, чтобы ваши элементы имели ширину и высоту 0px, но вы хотите, чтобы эти объявления css были полностью удалены?
EDIT
Ok,так что согласно вашему объяснению вы хотите, чтобы они вернулись в свои уже определенные состояния.Я предполагаю, что вы имеете в виду ДО оператора onload, который переопределяет их позицию, верно?Означает ли это, что вы работаете с пониманием того, что предыдущее состояние неизвестно и является абстрактным, и вы хотите знать, как получить эту информацию?Или вы имеете в виду очень просто, что вы знаете состояние, в которое вы хотите, чтобы оно вернулось, и просто не знаете, как настроить его для анимации там?
css file:
#div{
margin-left:20%;
margin-top:20%;
}
jquery:
$(document).ready(function(){
$('#div').css({marginTop:'50%', marginLeft:'50%'});
setTimeout(function() {
$("#div").animate({
marginLeft: "20%",
marginTop: "20%",
}, 750);
}, 2000 );
});
Так было бы, если бы вы знали, к какому желательному CSS вернуться.Если бы вы НЕ знали, вы могли бы сделать что-то вроде этого:
$(document).ready(function(){
var div = new Array();
div.push($('#div').css('margin-top'));
div.push($('#div').css('margin-left'));
$('#div').css({marginTop:'50%', marginLeft:'50%'});
setTimeout(function() {
$("#div").animate({
marginLeft: div[0],
marginTop: div[1],
}, 750);
}, 2000 );
});