@Returb0

Как переписать js класс на jquery?

Не получается переписать код с js на jquery. В чем ошибка не вижу.
Прошу помочь с заданием, если вдруг кто-то знает ES6, то прошу помочь кроме jquery написать класс по стандарту ES6

Оригинальный код на JS:
function Popup(options){
    this.modal = document.querySelector(options.modal);
    this.overlay = document.querySelector(options.overlay);
    var self = this;

    this.open = function(content){
        self.modal.innerHTML = content;
        self.modal.classList.add("open");
        self.overlay.classList.add("open");
    }
    this.close = function(){
        self.modal.classList.remove("open");
        self.overlay.classList.remove("open");
    }

    this.overlay.onclick = this.close;
}



var p = new Popup({
    modal: ".modal",
    overlay: ".overlay"
});

document.querySelector(".write").onclick = function(){
    p.open("TEXT");
}


Моя неудачная попытка переписать код на jquery:
function Popup(options){
    this.modal = $("options.modal");
    this.overlay = $("options.overlay");
    var self = this;

    this.open = function(content){
        self.modal.html(content);
        self.modal.addClass("open");
        self.overlay.addClass("open");
    }
    this.close = function(){
        self.modal.removeClass("open");
        self.overlay.removeClass("open");
    }

    this.overlay.on("click", this.close);
}



var p = new Popup({
    modal: ".modal",
    overlay: ".overlay"
});

$(".write").on("click", function(){
    p.open("TEXT");
})
  • Вопрос задан
  • 217 просмотров
Решения вопроса 1
Stalker_RED
@Stalker_RED
this.modal = $("options.modal");
this.overlay = $("options.overlay");
Зачем кавычки?
Ответ написан
Пригласить эксперта
Ваш ответ на вопрос

Войдите, чтобы написать ответ

Войти через центр авторизации
Похожие вопросы