Hjelpebiliotek

For å gjøre kodingen vår litt enklere bruker vi et lite bibliotek som inneholder mye brukte funksjoner.

Slike bibliotek bruker ofte en bokstav/tegn som utgangspunkt for å kjøre alle funksjoner fra, jQuery bruker $, underscore bruker _.

For å ikke skape forvirring velger jeg zz som navn på biblioteket og gjemmer alle funksjoner inne i det navnet.

Du kan selvsagt kalle biblioteket ditt for mittBibliotek, men poenget er at vi ønsker at mye brukte fraser skal bli korte.
Dermed zz("brett") framfor mittBibliotek("brett").

  // Kode uten bruk av biblioteket:
  let divBrett = document.getElementById("brett");

  // Kode med bibliotek
  let divBrett = zz.$("brett");

Dette er nyttig da slike oppslag i DOM (Document Object Model) forekommer hyppig i web-apper.

Bibliotek-koden


class ZZ {

    addClass(selector, klass) {
        let elm = [...document.querySelectorAll(selector)];
        elm.forEach(e => e.classList.add(klass));
    }

    removeClass(selector, klass) {
        let elm = [...document.querySelectorAll(selector)];
        elm.forEach(e => e.classList.remove(klass));
    }

    // finner et element, kan bruke "#brett", "brett", ".klasse"
    // for nakne ord $("main") brukes getElementById
    // ellers $("#main") vil bruke querySelector
    $(selector) {
        // fails for div span etc
        if (selector.includes("#") || selector.includes(".") ) {
            return document.querySelector(selector);
        } else {
            return document.getElementById(selector);
        }
    }
}

let zz = new ZZ();
zz.all = document.querySelectorAll.bind(document);
// nå er zz.all et synonym for document.querySelectorAll

Codepen

En demo i codepen som viser tre forskjellige måter du kan bruke zz.$( ) funksjonen på. Klikk på JS knappen for å se koden som kjøres.

See the Pen jQueryMINI by audun hauge (@audunhauge) on CodePen.

results matching ""

    No results matching ""