113 of 119 menu

Kaedah animate

Kaedah animate membolehkan penciptaan kesan animasi untuk pelbagai sifat CSS. Satu-satunya parameter wajib - objek dengan sifat CSS, serupa dengan yang kita hantar kepada kaedah css. Banyak sifat yang mempunyai nilai bukan nombor atau beberapa nilai tidak boleh dianimasikan oleh fungsi asas jQuery (contohnya background-color). Juga, tidak selalu nama singkatan sifat CSS disokong, contohnya font - sebaliknya, gunakan fontSize atau font-size. Sebelum nilai, anda boleh meletakkan '+=' atau '-=', dalam kes ini nilai yang dinyatakan seterusnya akan ditambah atau ditolak daripada nilai semasa sifat. Juga, bukannya nilai berangka anda boleh meletakkan show, hide atau toggle. Semua kesan jQuery, termasuk animate, boleh dimatikan secara global, menggunakan tetapan jQuery.fx.off = true, yang menetapkan nilai tempoh kepada 0.

Sintaks

Parameter pertama animasi ialah objek dengan sifat CSS dan nilainya dalam format kunci: nilai, yang ingin kita animasikan. Parameter lain dianggap pilihan. Parameter kedua - menentukan tempoh animasi dalam milisaat, 400ms secara lalai. Parameter ketiga ialah fungsi kelancaran untuk peralihan (secara lalai ialah swing), dan keempat - fungsi panggilan balik, yang akan dilancarkan selepas animasi selesai:

.animate(sifat, [tempoh ], [fungsi kelancaran ], [fungsi panggilan balik ]);

Masa boleh ditetapkan bukan hanya dalam milisaat, tetapi juga dengan kata kunci slow (600ms) dan fast (200ms), semakin besar nilai, semakin perlahan animasi. Anda boleh menghantar pelbagai pilihan kepada kaedah sebagai parameter kedua, dalam bentuk objek JavaScript, yang mengandungi pasangan kunci: nilai:

.animate(sifat, pilihan);

Sebagai contoh, mari kita tetapkan untuk sifat CSS width dan height nilai toggle. Tempoh kepada 5000ms, kita akan hantar fungsi kelancaran dalam bentuk objek, untuk lebar ia akan menjadi fungsi linear, dan untuk tinggi - easeOutBounce, juga selepas animasi selesai, fungsi akan dilaksanakan sekali (lihat kunci complete), yang selepas elemen dengan #test akan meletakkan div dengan tulisan 'Animation complete.':

$('#test').animate({ width: 'toggle', height: 'toggle' }, { duration: 5000, specialEasing: { width: 'linear', height: 'easeOutBounce' }, complete: function() { $(this).after('<div>Animation complete.</div>'); } });

Di bawah dalam jadual diberikan sifat dan kaedah objek pilihan dan keterangannya:

Nama Keterangan
duration Tempoh animasi dalam milisaat - rentetan atau nombor. 400ms secara lalai.
easing Menentukan fungsi kelancaran mana yang digunakan. swing secara lalai.
queue Nilai Boolean atau rentetan. true secara lalai. Menunjukkan - sama ada untuk meletakkan animasi dalam barisan. Dengan nilai false animasi akan bermula serta-merta. Jika parameter dihantar sebagai rentetan, maka animasi akan diletakkan dalam barisan, yang diwakili oleh parameter ini. Apabila menggunakan barisan dengan nama tersuai, animasi tidak akan bermula secara automatik, untuk melancarkannya - gunakan dequeue('namabarisan').
specialEasing Di sini anda boleh menghantar objek, di mana kuncinya akan menjadi sifat CSS, dan nilainya - fungsi kelancaran yang sepadan.
step Fungsi yang dipanggil untuk setiap sifat teranimasi setiap elemen teranimasi. Ia membenarkan modifikasi objek Tween, untuk mengubah nilai sifat sebelum ia ditetapkan. Sebagai parameter, ia menerima nilai semasa tween dan objek Tween.
progress Fungsi yang dipanggil selepas setiap langkah animasi, hanya sekali untuk setiap elemen tanpa mengira bilangan sifat teranimasi. Fungsi menerima tiga parameter animation (dalam bentuk janji), progress (nombor dari 0 hingga 1) dan remainingMs (nombor baki milisaat).
complete Fungsi yang dipanggil sekali selepas tamat animasi elemen. Fungsi menerima animation (dalam bentuk janji).
start Fungsi yang dipanggil, apabila animasi elemen bermula. Fungsi menerima animation (dalam bentuk janji) dan jumpedToEnd (Nilai Boolean. Jika true, maka animasi secara automatik diselesaikan).
done Fungsi yang dipanggil, apabila animasi elemen berakhir (janjinya dilaksanakan berjaya). Fungsi menerima animation (dalam bentuk janji) dan jumpedToEnd (Nilai Boolean. Jika true, maka animasi secara automatik diselesaikan).
fail Fungsi yang dipanggil, apabila animasi elemen berakhir dengan ralat (janjinya dilaksanakan dengan ralat). Fungsi menerima animation (dalam bentuk janji) dan jumpedToEnd (Nilai Boolean. Jika true, maka animasi secara automatik diselesaikan).
always Fungsi yang dipanggil, apabila animasi elemen selesai atau dihentikan tanpa penyelesaian (janjinya dilaksanakan berjaya atau dengan ralat). Fungsi menerima animation (dalam bentuk janji) dan jumpedToEnd (Nilai Boolean. Jika true, maka animasi secara automatik diselesaikan).

Contoh

Mari apabila butang #left ditekan, kita alihkan segi empat hijau ke kiri, dan butang #right ke kanan sebanyak 50px, juga tetapkan tempoh kepada 600ms - dengan perintah slow:

<button id="left">left</button> <button id="right">right</button> <div class="block"></div> div { position: absolute; background-color: green; left: 50px; width: 100px; height: 100px; margin: 5px; } $('#right').click(function() { $('.block').animate({'left': '+=50px'}, 'slow'); }); $('#left').click(function() { $('.block').animate({'left': '-=50px'}, 'slow'); });

Lihat juga

  • kaedah show,
    yang menunjukkan elemen secara lancar
  • kaedah stop,
    yang membenarkan menghentikan animasi yang telah dimulakan
  • kaedah delay,
    yang menetapkan kelewatan pelaksanaan peristiwa
  • sifat jQuery.fx.off,
    yang membenarkan mematikan animasi secara global
  • penilih animated,
    yang memilih elemen, yang pada masa ini terlibat dalam animasi
Melayu
AfrikaansAzərbaycanБългарскиবাংলাБеларускаяČeštinaDanskDeutschΕλληνικάEnglishEspañolEestiSuomiFrançaisहिन्दीMagyarՀայերենIndonesiaItaliano日本語ქართულიҚазақ한국어КыргызчаLietuviųLatviešuМакедонскиမြန်မာNederlandsNorskPolskiPortuguêsRomânăРусскийසිංහලSlovenčinaSlovenščinaShqipСрпскиSrpskiSvenskaKiswahiliТоҷикӣไทยTürkmenTürkçeЎзбекOʻzbekTiếng Việt
Kami menggunakan kuki untuk operasi laman web, analisis dan personalisasi. Pemprosesan data dijalankan mengikut Polisi Kerahsiaan.
terima semua tataletak tolak