Я начал писать JQuery плагин, и я хочу, чтобы иметь возможность:Является ли мой способ для написания плагинов jQuery правильно?
- инициализировать его, когда я называю его, как этот
$('selector').sitemap(options);
- использовать некоторые элементы (например, «загрузчиком», «VIEWPORT») в функциях в плагин
Сосчитайте первая проблема: я сделал это правильно так, как я написал инициализации (функция инициализации) или есть более правильный/изящный способ сделать это?
Относительно второй проблемы: для использования таких элементов, как 'loader', 'viewPort' Я написал все функции в объекте sitemap. Я сделал это правильно или есть более правильный/элегантный способ сделать это?
(function ($) {
$.extend($.fn, {
sitemap: function (options) {
//check if applied on valid DIV element
var canvas = this;
if (!canvas.is('div')) return;
var viewPort = null;
var loader = $('<p id="initLoader">Loading...</p>');
init();
loadMap();
function init() {
//create viewPort div
setCanvas();
}
function setCanvas() {
//set height and width
}
function loadMap() {
viewPort.prepend(loader);
buildMap($.parseJSON('{"pages":[]}'));
}
function buildMap(map){
//...
}
})(jQuery);
Считаете ли вы целесообразным использовать функцию sitemap() 'и' Sitemap() '? – ZeissS
@ZeissS, мое соглашение об именах было довольно бедным. Я не знаю много о его 'sitemap', чтобы выбрать более подходящее имя. Один из них является внутренним объектом 'Sitemap', а другой - функцией обертки, переданной в jquery. Поэтому это не мудро, но я не могу предложить хорошую альтернативу без дополнительной информации. – Raynos
Raynos, большое спасибо за ваш код. Это мне очень помогло!!! Я объединил ваш код с [этой статьей] (http://docs.jquery.com/Plugins/Authoring) – theateist