Сообщение от alex-romanov
|
плагин... вызова плагина... вызове плагина указан... настройки плагина... данном плагине... в плагине... вызов плагина... указанного плагина... в плагине... метод плагина... в плагине, я...
|
Это не плагин, это метод расширения. Это такой метод, добавляемый к существующему классу в месте, отличном от объявления класса.
Вместо того, чтобы расширять существующий jQuery, вы можете создать свою собственную «jquery». В вашем коде много раз создаётся $(this), почему бы тогда не наследовать от jQuery. Вот ваш пример с цветом...
<!doctype html>
<html>
<head>
<meta charset="utf-8">
<script src="https://code.jquery.com/jquery-latest.js"></script>
<script>
class MyColorJQuery extends jQuery {
constructor(selector, context) {
super(selector, context);
this.__proto__ = MyColorJQuery.prototype;
this.options = this.constructor.defaultOptions;
if(!this.data("my-color")) {
this.data("my-color", this);
this.on("click.my-color", () => this.color(this.options.color));
}
}
static get defaultOptions() {
return {
color: "green"
};
}
setOptions(options) {
this.extend(this.options, options);
return this;
}
color(color) {
return this.css("color", color);
}
reset() {
return this.css("color", "black");
}
destroy() {
this.reset();
this.off(".my-color");
return this;
}
}
$(() => {
const p = new MyColorJQuery("p").setOptions({ color: "deeppink" });
$("button:lt(3)").click(function() {
const color = this.name;
p.color(color);
});
$("button:eq(3)").click(function() {
p.reset();
});
$("button:eq(4)").click(function() {
p.destroy();
});
});
</script>
</head>
<body>
<h3>Click on Paragraph</h3>
<button name="red">Установить - Red</button>
<button name="green">Установить - Green</button>
<button name="blue">Установить - Blue</button>
<button name="reset">Сбросить цвет</button>
<button name="destroy">Вернуть по умолчанию</button>
<p>
Искусство появилось почти сразу же после появления человечества,
и на протяжении веков было создано множество величайших
произведений в живописи, скульптуре и других сферах искусства.
Какие из них считать самыми лучшими, вопрос очень спорный,
ведь даже эксперты расходятся во мнениях на этот счет.
Мы же сегодня попробуем составить список десяти наиболее
известных произведений искусства за все время.
</p>
<p>
Каменные монолитные статуи, расположенные на острове Пасхи в Тихом океане.
Считается, что статуи были созданы аборигенами острова
между 1250 и 1500 годами нашей эры.
</p>
<p>
Одна из наиболее известных древнегреческих скульптурных работ,
созданная где-то между 130 и 100 годами до нашей эры.
Мраморная скульптура была обнаружена в 1820 году на острове Милос.
</p>
</body>
</html>