Как да нулирам стойностите в javascript, без да използвам .animate, свързано с jquery

Променям атрибутите (#logo) на този div по този начин

$('#logo').stop().animate({
left: 150,
height: 78,
marginTop: 45
}

След 2 секунди след като анимацията приключи, я карам да изчезне с .hide('slow'), сега, докато е скрита, не искам да променя атрибутите й отляво, височина и marginTop на стари по подразбиране без анимация, защото когато Аз правя чрез animate се появява. Имам предвид става display:block. Искам да направя това скрито и след това fideIn.


person Community    schedule 27.09.2011    source източник
comment
Защо премахвате тези въпроси?   -  person BNL    schedule 14.11.2011


Отговори (2)


Можете да използвате .css в обратно извикване, което се изпълнява след завършване на анимацията:

$('#logo').stop().animate({
    left: 150,
    height: 78,
    marginTop: 45
}, function() {
    $(this).css({
        left: 150, //Change these to whatever they were before the call to animate
        height: 78, 
        marginTop: 45
    }).fadeIn();
});
person James Allardice    schedule 27.09.2011
comment
Няма проблем, радвам се, че помогнах :) - person James Allardice; 27.09.2011

Просто използвайте функцията jQuery css, за да върнете свойствата обратно към първоначалните им стойности.

$('#logo').stop().animate({
    left: 150,
    height: 78,
    marginTop: 45
}).hide('slow', function() {
    $(this).css({
      left: 0,
      height: 50,
      marginTop: 10
    }).fadeIn(); 
}); 

Пример за JSFiddle

person Richard Dalton    schedule 27.09.2011