Ich habe einen einfachen (leichten) div-Schieberegler, den ich vor einiger Zeit geschrieben habe, und weil ich ihn in verschiedenen Projekten verwende, ist es an der Zeit, ihn in ein eigenes Plugin zu verpacken (auf die Gefahr hin, dass er nicht so leicht ist) nicht mehr!).Benutzerdefiniertes JQuery-Plugin - wie erhält/erhält man benutzerdefinierte Optionen?
Ich habe gelesen und kopiert von http://docs.jquery.com/Plugins/Authoring, da dies mein Plugin Kirsche knallt, und es macht Sinn (meistens), aber etwas entzieht sich mir. Hier ist mein Plugin-Code:
(function($) {
//List of callable methods
var methods = {
init : function(options) {
var settings = $.extend({
optionOne : 'aaa',
optionTwo : 'bbb',
optionThree : 'ccc',
optionFour : 'ddd'
}, options);
},
error : function(message) {
alert(message);
},
showSettings : function() {
//This bit... how to show whats in 'settings' defined in init?
}
}
$.fn.ccSlider = function(method) {
//Calling methods
if (methods[method]) {
//If plugin is called with a recognised method, run that.
return methods[ method ].apply(this, Array.prototype.slice.call(arguments, 1));
} else if (typeof method === 'object' || !method) {
//if plugin is called without a method, run the init() function
return methods.init.apply(this, arguments);
} else {
//Run the error() function to catch all else.
return methods.error("ccSlider: Method '"+method+"' does not exist!");
}
};
})(jQuery);
Hier ist alles wie erwartet funktioniert, aber ich kann es nicht weitergehen, um die Methoden zu schreiben ich brauche, aber nur, weil ich kann nicht herausfinden, wie der Inhalt von ‚Einstellungen zuzugreifen 'außerhalb der init() -Methode.
Ich habe 'showSettings' als Test verwendet ... Wie würde ich eine showSettings-Methode schreiben, die aufgetaucht ist und mir gesagt hat, was der Wert einer bestimmten Einstellung (wie zB optionTwo) ist?
..oder best practice, nach der JQuery Website ... – Codecraft