jQuery plug-in: alat yang berkuasa untuk meningkatkan kecekapan pembangunan
Artikel ini akan meneroka perkembangan pemalam jQuery secara mendalam, menerangkan kelebihannya dan membimbing anda untuk membuat langkah-langkah plug-in anda sendiri. Plug-in JQuery dapat mengurangkan masa pembangunan dan meningkatkan penggunaan semula kod. Hanya tulis kod fungsi sekali dan anda boleh menggunakannya semula dalam pelbagai projek, meningkatkan kecekapan pembangunan. Kami akan menggunakan plug-in contoh yang dipanggil sebagai contoh untuk menunjukkan pelbagai pautan pembangunan plug-in. Plug-in ini digunakan untuk menukar penglihatan elemen bersarang, seperti item senarai, untuk membuat komponen interaktif yang serupa dengan akordion, seperti bahagian FAQ. Anda boleh melawat Codepen untuk melihat kesan sebenar plugin fancytoggle
. fancytoggle
kelebihan plugin: penggunaan semula kod dan extensibility
Inti dari plugin jQuery adalah skalabilitasnya, yang anda boleh dengan mudah menambah projek anda untuk melaksanakan ciri -ciri yang anda inginkan dengan cepat. Mekanisme pemalam JQuery memudahkan proses pembinaan kod yang boleh diguna semula. Kelebihan utama pemalam ialah mereka membolehkan pemaju untuk menentukan pelbagai pilihan untuk menyesuaikan fungsi pemalam. Anda boleh membuat pilihan yang mengubah sepenuhnya bagaimana pemalam berfungsi, atau anda boleh menentukan hanya beberapa pilihan, memberikan pengguna lebih banyak kawalan ke atas gaya atau susun atur.
langkah pembangunan pemalam jQuery
Di bawah kami akan secara beransur-ansur menerangkan cara mendaftarkan plug-in jQuery baru, dan gunakan pemalam sebagai contoh untuk menggambarkan. fancytoggle
1. Plug-in jQuery berfungsi dengan mendaftarkan fungsi yang namanya adalah nama panggilan yang mencetuskan pemalam (contohnya, memanggil fungsi atau
yang dibina dalam jQuery untuk mendapatkan lebar/ketinggian). Kami melampirkan fungsi ke objek JQuery untuk menjadikannya tersedia untuk objek Global .width()
. Ini akan mendaftarkan fungsi kami dan membolehkannya dipanggil pada objek atau pemilih. .height()
$.fn
$
itu sahaja! Anda kini mempunyai kaedah jQuery baru. Pada masa ini ia tidak melakukan apa -apa, tetapi anda boleh memanggil kaedah ini pada bila -bila masa, di mana sahaja, contohnya pada pemilih:
// 注册我们的函数 $.fn.fancytoggle = function() { // ... };
Anda boleh mendaftarkan seberapa banyak fungsi yang anda suka dengan
, tetapi amalan terbaik adalah untuk mengelakkan mendaftarkan pelbagai fungsi melainkan jika plugin melakukan tugas yang sama sekali berbeza.// 在此元素上调用 fancytoggle $('.my-element').fancytoggle();
$.fn
2.
untuk pelbagai projek yang berbeza, kita akan mempunyai koleksi yang perlu diproses dalam fungsi tersebut. Untuk memproses setiap elemen, kami hanya menggunakan fungsi JQuery's untuk melintasi koleksi:
Kami melangkah ke atas setiap elemen koleksi dan tetapkannya. Kami boleh melakukan pengiraan, menambah pendengar acara, atau mengendalikan elemen kami dalam beberapa cara. fancytoggle()
Pastikan kami merujuk elemen yang betul. $.each
3 Dalam kebanyakan kes, plugin anda akan berfungsi dengan memanggilnya secara langsung pada objek atau pemilih. Ini akan melaksanakan fungsi plugin pada projek. Satu ciri jQuery adalah konsep panggilan rantai, di mana anda boleh memanggil pelbagai kaedah berturut -turut pada projek, setiap kaedah akan dilaksanakan dengan urutan:
Ini akan memilih elemen, menambah kelas aktif, dan kemudian luncurkannya ke atas atau ke bawah. Setiap kaedah mengembalikan objek, dan kemudian kaedah seterusnya dipanggil pada objek tersebut. Agar plugin kami berfungsi dengan cara ini, anda hanya perlu mengembalikan projek pada akhir fungsi plugin. Walaupun ini tidak perlu, sangat disyorkan.
// 注册我们的函数 $.fn.fancytoggle = function() { // ... };
// 在此元素上调用 fancytoggle $('.my-element').fancytoggle();
Satu siri pilihan boleh dihantar ke plugin untuk mengubah cara ia berfungsi. Pilihan ini diserahkan kepada fungsi anda sebagai satu siri pasangan nilai utama (objek JavaScript):
Agar plugin kami mengendalikan pilihan, kami perlu menentukan tetapan lalai untuk digunakan. Kami kemudian boleh menggunakan kaedah JQuery'suntuk menggabungkan pilihan lalai kami dengan pilihan yang diluluskan ketika memanggil plugin:
$.fn.fancytoggle = function(options) { // `this` 指的是调用插件的 jQuery 元素 this.each(function(index, value) { // 插件功能的其余部分在此处 }); return this; };
Anda boleh menentukan seberapa banyak pilihan yang anda mahukan untuk plugin, $.extend
akan membuat objek tunggal dengan menggabungkan dan mengumpul nilai. Anda mungkin mahu memasukkan beberapa tetapan asas atau elemen lain untuk membantu plugin mengkonfigurasi sendiri.
// 在选择器上链式调用多个 jQuery 方法 $('.my-element') .addClass('active') .slideToggle('fast');
5
$.extend
pendengar acara adalah fungsi yang dipanggil pada saat tertentu dalam kitaran hayat plugin. Panggilan balik ini akan membolehkan orang lain (atau diri anda) menyambung ke bahagian kritikal plugin dan mencetuskan ciri tambahan. Banyak plugin jQuery untuk pemaju mempunyai panggilan balik yang boleh anda sambungkan, seperti ketika mengklik pada slaid atau menutup tetingkap mod. Anda menentukan panggilan balik ini sebagai elemen dalam pilihan lalai.
6 Fikirkan tentang apa yang berlaku apabila JS dilumpuhkan. Tanpa itu, plugin kami tidak akan berfungsi dan kami akan ditinggalkan dengan kandungan HTML yang kami mulakan. Sebagai contoh kami, kami membuat seksyen yang boleh ditukar dengan tajuk dan badan kandungan (mengklik pada tajuk untuk menukar badan ke atas dan ke bawah). Jika kami tidak mengaktifkan JS, kandungan kami masih berfungsi dengan sempurna. Sentiasa pertimbangkan situasi ini.
Langkah seterusnya
Anda boleh menggunakan konsep asas yang diterangkan dalam artikel ini kepada kod sedia ada, menukarnya menjadi plugin yang mudah dikonfigurasikan dan diperluaskan, dan kemudian tambahkannya ke projek anda yang seterusnya. Beberapa bahagian laman web jQuery sendiri mengenai pembangunan plugin patut dibaca.
Ringkasan
Anda kini harus mempunyai pemahaman yang lebih mendalam tentang plugin jQuery dan bagaimana untuk memanfaatkannya untuk mempercepatkan dan memudahkan pembangunan. Apa yang kita sampaikan termasuk:
$.fn
Tambah plugin ke ruang nama JQuery .each
Atas ialah kandungan terperinci Pengenalan Membangun Plugin JQuery. Untuk maklumat lanjut, sila ikut artikel berkaitan lain di laman web China PHP!