app/ Система инициализации
config/ Хост-зависимые настройки
bin/ Исполняемые файлы
src/ Исходный код проекта
command/ Контроллеры консольных команд
component/ Разнообразные хэлперы
controller/ Web-ориентированные контроллеры
entity/ Сущности данных
repository/ Репозитории БД
migration/ Миграции БД
service/ Вспомогательные сервисы, например сервис отправки почты
test/ Тесты системы
fixture/ Фикстуры БД
functional/ Функциональные тесты
unit/ Unit тесты
vendor/ Внешние зависимости проекта
web/ Публичный каталог для web сервера
assets/ Статические файлы
css/
font/
img/
js/
(function( $ ){
var methods = {
init: function (options) {
var defaults = $.extend( {}, options ) //если передаете аргументы при инициализации
},
anotherMethod: function () {
}
}
$.fn.pluginName = function (method) {
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 + ' не существует в jQuery.pluginName' );
}
}
})( jQuery );
// TOOLTIP PLUGIN DEFINITION
// =========================
function Plugin(option) {
return this.each(function () {
var $this = $(this)
var data = $this.data('bs.tooltip')
var options = typeof option == 'object' && option
if (!data && /destroy|hide/.test(option)) return
if (!data) $this.data('bs.tooltip', (data = new Tooltip(this, options)))
if (typeof option == 'string') data[option]()
})
}
var old = $.fn.tooltip
$.fn.tooltip = Plugin
$.fn.tooltip.Constructor = Tooltip
Element.prototype.myPlugin = function (params) {
console.log(params.option);
};
document.querySelector('body').myPlugin({ option: true });
Хотел бы спросить вашего мнения, господа!
function Mobile(newConfigure) {
this.callbacks = []
this.functions = {mobile: null, desktop: null};
}
Mobile.prototype.dispatcher = function(el, ev, dlg, cb) {
this.callbacks.push({ el: el, ev: ev});
return $(el).on(ev, dlg, cb);
}
Mobile.prototype.removeListeners = function() {
for (var i = 0, ln = this.callbacks.length; i < ln; i++ ) {
$(this.callbacks[i].el).off(this.callbacks[i].ev);
}
this.callbacks = [];
}
Mobile.prototype.run = function(params) {
//Здесь какое-либо условие
this.removeListeners();
if (условие) {
params.mobile(this.dispatcher);
} else {
params.desktop(this.dispatcher);
}
}
var mobile = new Mobile({
mobile: function(on) {
on('#myButton', 'click', function(e) { /* */ });
},
desktop: function(on) {
on('#myButton', 'click', function(e) { /* */ });
}
})
mobile.run();
<header>
<h2>Заголовок</h2>
<p>Описание к заголовку</p>
</header>
<hgroup>
<h1>Титульный заголовок</h1>
<h2>Подзаголовок</h2>
</hgroup>
<h2>Заголовок</h2>
Используется для группирования заголовков веб-страницы или раздела. Внутри располагаются теги заголовков от до . Данный тег исключён из версии HTML от W3C, но остался в версии WHATWG, будущее элемента пока не определено.
Тег задает «шапку» сайта или раздела, в которой обычно располагается заголовок.