javascript - Puis-je développer moi-même des plug-ins jQuery pour réaliser plusieurs fonctions dans un seul plug-in?
phpcn_u1582
phpcn_u1582 2017-07-05 11:00:48
0
3
1100

RT !
Par exemple, écrivez un plug-in avec une fonction onglet, une fonction carrousel, une fonction fenêtre pop-up, etc.
Bien sûr, ces fonctions n'ont pas besoin d'être puissantes, il suffit de rassembler ces fonctions pour une utilisation facile. Appelez-le simplement
Mon idée est la suivante :
Enveloppez-le avec var méthodes = {...}, et le... à l'intérieur représente N petites fonctions.
Par exemple :

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);

}

Actuellement, j'ai écrit un plug-in selon cette méthode, qui contient des effets spéciaux js que j'utilise souvent, mais j'ai toujours l'impression que ce n'est pas bien d'écrire comme ça, mais je ne sais pas quelles améliorations sont nécessaires à faire. S'il vous plaît, donnez-moi quelques conseils de personnes âgées qui sont passées par là. Ah, merci !

Je ne sais pas si quelqu’un a les mêmes besoins que moi. Comment y parvenir ?

phpcn_u1582
phpcn_u1582

répondre à tous(3)
大家讲道理

Vous devez écrire votre propre bibliothèque maintenant ! Votre idée actuelle est similaire à jQuery EasyUI. Chaque composant correspond à une méthode $.fn.<component>() Le premier paramètre de cette méthode est le nom de la méthode du composant, suivi des paramètres de cette méthode, tels que

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

Il s'agit de la méthode show du composant panneau appelée.

Cette façon d'écrire est également très simple à utiliser, mais il y a un problème, c'est-à-dire qu'il est difficile d'implémenter les invites de syntaxe dans l'éditeur.

Une autre méthode est MiniUI, qui utilise une méthode spécifique (mini.get()) pour obtenir un objet de contrôle de composant basé sur le DOM, puis utilise cet objet pour effectuer des opérations de composant associées, tout comme un objet normal. Par exemple

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

Les deux méthodes devraient être capables de réaliser votre idée. La différence réside dans la différence entre encapsuler une interface de fonction (méthode) et encapsuler une interface d'objet

学霸

Vous avez l'impression que vous voulez faire une bibliothèque contenant certaines fonctions couramment utilisées. Vous pouvez vous référer à la structure de ce projet

Ty80

Pourquoi pensez-vous que le vôtre n'est pas un plug-in, mais plutôt une combinaison d'interface utilisateur

Derniers téléchargements
Plus>
effets Web
Code source du site Web
Matériel du site Web
Modèle frontal