Metoda animate v jQuery

Vse metode, ki smo jih obravnavali v prejšnjih lekcijah, so nekoliko omejene - delajo točno tisto, za kar so namenjene. Če potrebujete več nadzora nad animacijo - uporabite univerzalno metodo animate.

Prvi parameter te metode sprejme objekt, v katerem morate nastaviti nove vrednosti CSS lastnosti, ki jih želite animirati. In kot drugi parameter - čas izvedbe animacije.

Implementirajmo to metodo na naslednji HTML kodi:

html<button id="button">click me</button>
<div id="elem">text...</div>

Naj CSS izgleda takole:

css#elem {
  width: 150px;
  height: 150px;
  padding: 10px;
  border: 1px solid green;
}

Naredimo tako, da se ob kliku na gumb element skrči na naslednje mere: višina - 50px, širina - 100px:

javascript$('#button').click(function() {
  $('#elem').animate({height: 50, width: 100}, 1000);
});

Če določite vrednost v tej obliki height: '+=50', bo animacija delovala takole: k trenutni vrednosti višine bo prišteto 50px (v našem primeru) in element bo postopno animiran do nove vrednosti. Poglejmo na primeru:

javascript$('#button').click(function() {
  $('#elem').animate({height: '+=50', width: '+=50'}, 1000);
});

Podrobnosti o metodi animate si oglejte v priročniku jQuery.

animate
Задание 1

Obstaja takšna postavitev:

html<body>
  <div id="block"></div>
</body>
cssdiv {
  width: 100px;
  height: 100px;
  border: 1px solid black;
  cursor: pointer;
  margin-bottom: 20px;
}

Naredite tako, da se ob kliku na div z #block njegova širina poveča na 200px v času 1100ms.

Задание 2

Uporabite postavitev iz prve naloge. Naredite tako, da se ob vsakem kliku na div z #block njegova širina poveča za 200px in vsako tako povečanje poteka v času 900ms.

Задание 3

Uporabite postavitev iz prve naloge. Naredite tako, da se ob vsakem kliku na div z #block njegova širina in višina povečata za 100px in vsako tako povečanje poteka v času 950ms.

Задание 4

Uporabite postavitev iz prve naloge. Naredite tako, da se ob vsakem kliku na div z #block, premakne desno za 100px in vsaka taka premik poteka v času 700ms.