Rumah >hujung hadapan web >tutorial js >Syorkan template_jquery pemalam jQuery

Syorkan template_jquery pemalam jQuery

WBOY
WBOYasal
2016-05-16 16:21:26978semak imbas

Saya telah menggunakan jQuery untuk sekian lama, dan saya sering menulis pemalam untuknya. Saya telah mencuba pelbagai cara untuk menulisnya, dan kini templat ini adalah kegemaran saya:

Salin kod Kod adalah seperti berikut:

;(fungsi($) {
// berbilang pemalam boleh pergi ke sini
(function(pluginName) {
var lalai = {
      warna: 'hitam',
       testFor: function(div) {
        kembali benar;
}
};
$.fn[pluginName] = fungsi(pilihan) {
pilihan = $.lanjutkan(benar, {}, lalai, pilihan);
                                                                       Kembalikan this.each(function() {
      var elem = ini,
             $elem = $(elem);

// inilah keberanian plugin
Jika (options.testFor(elem)) {
$elem.css({
lebar sempadan: 1,
borderStyle: 'pepejal',
                 sempadanWarna: pilihan.warna
            });
          }
});
};
$.fn[pluginName].defaults = lalai; })('sempadankan');
})(jQuery);

//Berikut ialah penggunaan
$('div').borderize();
$('div').borderize({warna: 'merah'});


Inilah sebab mengapa saya suka templat ini

1. Anda masih boleh mengakses pilihan lalai di dalam, walaupun ia ditindih (hanya diakses melalui atribut induk)

 2. Anda boleh menukar nama pemalam dengan mengubah suai Nama pemalam. (Kaedah ini juga sangat berfaedah untuk pemampatan kod)

Point #1 sangat berkuasa Sebagai contoh, jika kita ingin mengatasi kaedah ini, tetapi masih mahu mengekalkan kaedah asal, kita boleh melihat contoh berikut:

$('.borderize').borderize({
TestFor: fungsi(elemen) {
        var $elem = $(elem);
Jika (elem.is('.tidak aktif')) {
              pulangan palsu;
         } lain {
                          // memanggil fungsi "ibu bapa"
                   return $.fn.borderize.defaults.testFor.apply(this, arguments);
}
}
});
Kita juga boleh melakukan ini dengan sifat biasa seperti ini

var someVarThatMayBeSet = palsu;
/* kod ... */

$('.borderize').borderize({
warna: someVarThatMayBeSet ? 'merah' : $.fn.borderize.defaults.color
});


Rakan, anda juga akan menyukai templat pemalam jQuery ini, ia sangat fleksibel.
Kenyataan:
Kandungan artikel ini disumbangkan secara sukarela oleh netizen, dan hak cipta adalah milik pengarang asal. Laman web ini tidak memikul tanggungjawab undang-undang yang sepadan. Jika anda menemui sebarang kandungan yang disyaki plagiarisme atau pelanggaran, sila hubungi admin@php.cn