Действительно плавные анимационные эффекты с помощью jQuery - PullRequest
0 голосов
/ 12 января 2010

У меня на странице настроен jQuery для замены некоторых DIV, когда пользователь нажимает на ссылку. В DIV есть объекты flash, абзацы и изображения, и когда я щелкаю ссылку, чтобы поменять ее, эффекты не совсем ... гладкие.

Это мой код:

$('#div').toggle('fast');
$('#anotherdiv').toggle('fast');

Он как бы застревает на объекте вспышки на короткое время, а затем полностью исчезает. Кто-нибудь знает плагин для создания действительно плавных анимированных эффектов в jQuery? Я посмотрел на пользовательский интерфейс jQuery, но мне кажется, что это немного излишне.

Приветствия. :)

Ответы [ 4 ]

2 голосов
/ 12 января 2010

Проблема скорости в основном связана с флэш-памятью ... вы просите браузер быстро перерисовать видео, а не браузер, который так хорошо справляется с этой задачей. Я хотел бы подумать о том, чтобы спрятать элементы флэш-памяти, прежде чем скрывать, и показать их после остальных, примерно так:

$(function(){
  $('#hideShowButton').toggle(function() {
    $('#div object, #anotherdiv object').hide();
    $('#div').toggle('fast');
    $('#anotherdiv').toggle('fast');
  }, function() {
    $('#div object, #anotherdiv object').show();
    $('#div').toggle('fast');
    $('#anotherdiv').toggle('fast');
  });
});
0 голосов
/ 12 января 2010

@ стимы правы в отношении скорости, но всегда есть обходной путь :)

Я бы спрятал флэш-контейнер перед запуском анимации. Таким образом, это не будет мешать вещам.

0 голосов
/ 12 января 2010

Убедитесь, что для wmode объекта и / или тега вставки вспышки установлено значение transparent или opaque ...

стоит выстрелить :)

0 голосов
/ 12 января 2010

Анимация Javascript действительно зависит от браузера. IE ужасно медлителен в javascript, и большую часть времени даже не стоит пытаться анимировать с помощью IE. Firefox и Chrome намного лучше. Попробуйте сделать это в chrome и посмотрите, все ли еще проблематично.

...