Реализация плагина
Добрый день.
Помогите с реализацией Popup плагина.
<!-- Инициализация настроек плагина в html файле -->
settings ({
button: ".classOne",
content: ".classTwo"
});
// js файл скрипта
let settings = (function() {
return function(settings) {
//получение настроек плагина
}
})();
Вопрос: Весь остальной код плагина куда добавить? вар1
let settings = (function() {
// если здесь добавлю код плагина то settings не доступен будет
document.addEventListener("click", function (event) {
~
//settings.button undefined
});
return function(settings) {
//получение настроек плагина
}
})();
вар2
let settings = (function() {
return {
settings: function(settings) {
//получение настроек плагина
}
},
othercode: function () {
// можно добавить сюда он будет видеть settings но тут будет много кода тогда и он будет доступен глобально
document.addEventListener("click", function (event) {
~
});
}
})();
|
Можно сделать так
const settings = function(settings) {
//Other private information/methods
const makeDialog = function() {};
return { //Public api
openPopup: function {
return makeDialog().open(), this;
},
closePopup: function {}
};
};
|
Nexus,
Спасибо, последую вашим рекомендациям, попробую организовать код таким образом. А this здесь для чего предполагается? return makeDialog().open(), this; |
Цитата:
|
Сделал немного иначе, скажите для плагина popup это нормальная структура?
// HTML
popup ({
buttons: ".popup_button",
content: ".popup_content"
});
// JS
const popup = (function () {
'use strict';
document.addEventListener("click", function (event) {
// основной код popup'а
});
})();
|
Подскажите пожалуйста.
|
|
|
рони,
Спасибо |
| Часовой пояс GMT +3, время: 06:53. |