Advertisement
Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- $(document).ready(function () {
- class Product { // klasa produkt
- constructor(title, author, selector) {
- this.title = title; // zawiera elementy takie jak tytuł, autora i selektor
- this.author = author;
- this.selector = selector;
- }
- updateInfo() {
- let category = $(`div.${this.selector}`); // oraz metodę, która na podstawie selektora wyszukuje odpowiedni element w drzewie DOM
- category.find(".title").text(this.title); // przypisuje do niego w odpowiendich miejscach autora i tytuł książki czy ebooka
- category.find(".author").text(this.author);
- }
- }
- class Book extends Product { // klasa Book jest rozszerzeniem klasy Product
- constructor(title, author, selector) { //posiada te same własności
- super(title, author, selector);
- }
- order() {
- console.log("Podaj adres"); // oraz metodę order
- }
- }
- class Ebook extends Product {
- constructor(title, author, selector) { // podobnie z klasą Ebook
- super(title, author, selector);
- }
- download() {
- console.log(`ściąganie... ${this.title}`);
- }
- }
- let eBook1 = new Ebook("Ciemniejsze niebo", "Ruby Eliassen", "ebook"); // tworzymy naszego pierwszego ebooka na podstawie konktruktora Ebook
- // console.log(eBook1);
- let book1 = new Book("Najdłuższa noc", "Maciej Dancewicz", "book"); // Tworzymy również książkę na podstawie Book
- // console.log(book1);
- eBook1.updateInfo(); // wywołujemy metodę wypisującą dane pozycji w naszym dokumencie HTML
- book1.updateInfo();
- let btns = $("button"); // wyszukujemy przyciski
- btns.on("click", () => { //dodajemy im event
- if ($(this).parent().hasClass("book")) { // jeśli jego rodzic ma klasę book, wywołujemy odpowednią metodę
- book1.order()
- } else {
- eBook1.download();
- }
- })
- })
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement