Как мне сбросить значения в javascript без использования .animate, связанные с jquery - PullRequest
1 голос
/ 27 сентября 2011

Я изменяю атрибуты этого div (#logo) следующим образом:

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

Через 2 секунды после завершения анимации я делаю ее исчезающей с .hide ('slow'), теперь, покаскрытый Я не хочу менять его атрибуты слева, height и marginTop на старые по умолчанию без анимации, потому что когда я делаю через animate, он появляется.Я имею в виду становится дисплей: блок.Я хочу сделать это скрытым, а затем найти его.

Ответы [ 2 ]

1 голос
/ 27 сентября 2011

Вы можете использовать .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();
});
0 голосов
/ 27 сентября 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

...