Rumah  >  Soal Jawab  >  teks badan

javascript - Bolehkah saya membangunkan pemalam jQuery sendiri untuk mencapai pelbagai fungsi dalam satu pemalam?

RT!
Contohnya, tulis pemalam dengan fungsi tab, fungsi karusel, fungsi tetingkap timbul, dsb.
Sudah tentu, fungsi ini tidak perlu berkuasa, hanya untuk menggabungkan fungsi ini supaya mudah digunakan. Panggil sahaja
Idea saya ialah:
Balut dengan kaedah var = {...}, dan bahagian dalam mewakili N fungsi kecil.
Contohnya:

var methods = {
    nTab: function(options) {
        return this.each(function() {
            var defaults = { ... }; // 每增加一个功能就要多写一遍这个
            settings = $.extend({}, defaults, options);
            // 执行代码
        }
    },
    slide: function(options) {
        return this.each(function() {
            var defaults = { ... };  // 每增加一个功能就要多写一遍这个
            settings = $.extend({}, defaults, options);
            // 执行代码
        }
    }
    // N个小功能代码 ...
}
$.fn.pluginName = function() {
    var method = arguments[0];

    if(methods[method]) {
        method = methods[method];
        arguments = Array.prototype.slice.call(arguments, 1);
    } else if( typeof(method) == 'object' || !method ) {
        method = methods.init;
    } else {
        $.error( 'Method ' +  method + ' does not exist on jQuery.pluginName' );
        return this;
    }

    return method.apply(this, arguments);

}

Pada masa ini, saya telah menulis plug-in mengikut kaedah ini, yang mengandungi beberapa kesan khas js yang sering saya gunakan, tetapi saya selalu merasakan bahawa menulis seperti ini tidak baik, tetapi saya tidak tahu apa yang perlu diperbaiki. untuk dibuat. Tolong beri saya nasihat dari senior yang telah berlalu.

Saya tidak tahu jika sesiapa mempunyai keperluan yang sama seperti saya. Bagaimana anda mencapainya?

phpcn_u1582phpcn_u15822663 hari yang lalu1037

membalas semua(3)saya akan balas

  • 大家讲道理

    大家讲道理2017-07-05 11:02:48

    Anda perlu menulis perpustakaan anda sendiri sekarang! Idea semasa anda adalah serupa dengan jQuery EasyUI Setiap komponennya sepadan dengan kaedah $.fn.<component>() Parameter pertama kaedah ini ialah nama kaedah komponen, diikuti dengan parameter kaedah ini, seperti

    $("#id1").panel("show")

    Ini ialah kaedah persembahan komponen panel yang dipanggil.

    Cara penulisan ini juga sangat mudah digunakan, tetapi terdapat masalah, iaitu sukar untuk melaksanakan gesaan sintaks dalam editor.

    Cara lain ialah MiniUI, yang menggunakan kaedah tertentu (mini.get()) untuk mendapatkan objek kawalan komponen berdasarkan DOM, dan kemudian gunakan objek ini untuk melaksanakan operasi komponen yang berkaitan sama seperti objek biasa. Contohnya

    var panel = mini.get("id1");
    panel.show();

    Kedua-dua kaedah sepatutnya dapat merealisasikan idea anda Perbezaannya terletak pada perbezaan antara merangkum antara muka fungsi (kaedah) dan merangkum antara muka objek

    .

    balas
    0
  • 欧阳克

    欧阳克2017-07-05 11:02:48

    Rasanya apa yang anda mahu lakukan ialah perpustakaan yang mengandungi beberapa fungsi yang biasa digunakan. Anda boleh merujuk kepada struktur projek ini

    balas
    0
  • PHP中文网

    PHP中文网2017-07-05 11:02:48

    Mengapa anda merasakan bahawa milik anda bukan pemalam, tetapi lebih seperti gabungan UI

    balas
    0
  • Batalbalas