ok suis un peu nouveau plugins j'ai utilisé beaucoup dans mes projets, j'ai aussi des plugins de base écrit qui fonctionnent sur des éléments avec des options:créer un plugin jquery avec de multiples fonctions
(function($){
$.fn.pulse = function(options) {
// Merge passed options with defaults
var opts = jQuery.extend({}, jQuery.fn.pulse.defaults, options);
return this.each(function() {
obj = $(this);
for(var i = 0;i<opts.pulses;i++) {
obj.fadeTo(opts.speed,opts.fadeLow).fadeTo(opts.speed,opts.fadeHigh);
};
// Reset to normal
obj.fadeTo(opts.speed,1);
});
};
// Pulse plugin default options
jQuery.fn.pulse.defaults = {
speed: "slow",
pulses: 2,
fadeLow: 0.2,
fadeHigh: 1
};
})(jQuery);
travaux ci-dessus ok, mais il est évident qu'il effectue une tâche, idéalement, je voudrais être en mesure d'effectuer des tâches multiples dans un plug-in pour que je puisse utiliser:
$('#div').myplugin.doThis(options);
$('#div').myplugin.doThat(options;
raison étant que j'ai un assez grand scénario qui ne différents appels ajax pour enregistrer les données et interroger des données à partir d'une base de données (en utilisant un fichier php externe) Je voudrais ntergrate toute cette fonctionnalité dans un plugin, mais je ne connais pas la meilleure structure à utiliser pour cela, j'ai regardé tant de tutoriels et ont fondamentalement frit mon cerveau, et je suis confus quant à la façon dont je devrais y arriver.
est juste une question de la création d'une nouvelle fonction comme:
$.fn.pluginname.dothis = function(options){
return this.each(function() {
//execute code
};
};
tous les pointeurs à ce sujet, ou un modèle pour me lancer serait vraiment utile.
toujours besoin d'aide !!!
problème suivant:
(function($){
// Can use $ without fear of conflicts
//var gmap3plugin = $.fn.gmap3plugin;
var obj = this; // "this" is the jQuery object
var methods = {
init : function(options){
var lat = $.fn.gmap3plugin.defaults[lat];
var lng = $.fn.gmap3plugin.defaults[lng];
alert('init'+' lat:'+lat+' --- lng:'+lng);
},
show : function() { },
hide : function() { },
update : function(content) { }
};
$.fn.gmap3plugin = function(method){
// Method calling logic
if (methods[method]) {
return methods[ method ].apply(this, Array.prototype.slice.call(arguments, 1));
} else if (typeof method === 'object' || ! method) {
return methods.init.apply(this, arguments);
} else {
$.error('Method ' + method + ' does not exist on jQuery.tooltip');
};
};
$.fn.gmap3plugin.defaults = {
mapdiv :'#mapdiv',
region : 'uk',
lat : 53.4807125,
lng : -2.2343765
};
})(jQuery);
cela fonctionne et obtient la bonne fonction qui est passé, mais Comment accéder aux valeurs de la .fn.gmap3plugin.defaults $ le code mes déclarations de méthode d'initialisation indéfinis pour lat et lng
init : function(options){
var lat = $.fn.gmap3plugin.defaults[lat];
var lng = $.fn.gmap3plugin.defaults[lng];
alert('init'+' lat:'+lat+' --- lng:'+lng);
},
ou puis-je accéder à des données non thhe dans .fn.gmap3plugin.defaults de $ d'une fonction ???
hmm ok, je pense que l'architecture du plugin jqueryui mentionne quelque chose de plus, j'ai eu une lecture mais ça m'a laissé dans un état de confusion !!un bon tutoriel que vous pourriez me diriger vers? –
Regardez l'édition que j'ai faite – Samuel
merci samuel je vais essayer et voir où je reçois, il semble certainement faire plus de sens que d'autres articles que j'ai lus. –