Как выполнить две анимации jQuery одновременно?

Я использовал шаблон "мост" на работе. Я программирую в C++, где это часто называют идиомой PIMPL (указатель на реализацию). Это похоже на это:

class A
{
public: 
  void foo()
  {
    pImpl->foo();
  }
private:
  Aimpl *pImpl;
};

class Aimpl
{
public:
  void foo();
  void bar();
};  

В этом примере class A содержит интерфейс, и class Aimpl содержит реализацию.

Одно использование для этого шаблона должно представить только некоторых общедоступных членов класса реализации, но не других. В примере [только 113] можно назвать через открытый интерфейс A, но не Aimpl::bar()

, Другое преимущество состоит в том, что можно определить Aimpl в отдельном заголовочном файле, который не должен быть включен пользователями A лет. Все, что необходимо сделать, использовать предописание Aimpl, прежде чем A будет определен, и переместите определения всех функций членства, ссылающихся pImpl в .cpp файл. Это дает Вам способность сохранить Aimpl заголовок частным, и уменьшить время компиляции.

206
задан Community 23 May 2017 в 01:47
поделиться

2 ответа

Если вы запустите вышеперечисленное, как они есть, они будут работать одновременно.

Вот некоторый тестовый код:

<script src="http://ajax.googleapis.com/ajax/libs/jquery/1.3.2/jquery.min.js"></script>
<script>
$(function () {
    $('#first').animate({ width: 200 }, 200);
    $('#second').animate({ width: 600 }, 200);
});
</script>
<div id="first" style="border:1px solid black; height:50px; width:50px"></div>
<div id="second" style="border:1px solid black; height:50px; width:50px"></div>
8
ответ дан 23 November 2019 в 04:49
поделиться

Это будет выполняться одновременно, да. что, если вы хотите запустить две анимации для одного и того же элемента одновременно?

$(function () {
    $('#first').animate({ width: '200px' }, 200);
    $('#first').animate({ marginTop: '50px' }, 200);
});

В итоге анимации будут помещены в очередь. чтобы запустить их одновременно, вы должны использовать только одну строку.

$(function () {
    $('#first').animate({ width: '200px', marginTop:'50px' }, 200);
});

Есть ли другой способ запустить две разные анимации для одного и того же элемента одновременно?

19
ответ дан 23 November 2019 в 04:49
поделиться
Другие вопросы по тегам:

Похожие вопросы: