Maison  >  Questions et réponses  >  le corps du texte

javascript - Puis-je développer moi-même des plug-ins jQuery pour réaliser plusieurs fonctions dans un seul plug-in?

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_u1582phpcn_u15822663 Il y a quelques jours1039

répondre à tous(3)je répondrai

  • 大家讲道理

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

    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

    répondre
    0
  • 欧阳克

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

    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

    répondre
    0
  • PHP中文网

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

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

    répondre
    0
  • Annulerrépondre