javascript - Bolehkah saya membangunkan pemalam jQuery sendiri untuk mencapai pelbagai fungsi dalam satu pemalam?
phpcn_u1582
phpcn_u1582 2017-07-05 11:00:48
0
3
1078

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_u1582
phpcn_u1582

membalas semua(3)
大家讲道理

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

.
学霸

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

Ty80

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

Muat turun terkini
Lagi>
kesan web
Kod sumber laman web
Bahan laman web
Templat hujung hadapan