@lotrop

Как организовать стурктуру многоповторной js библиотеки?

Например, у меня есть библиотека на чистом js, которая находит по некоторому id блок и запускает галлерею. Хорошо, если галлерея одна, то это просто реализуется. А если я хочу иметь 2 галлереи на странице, то лигично, что я должен два раза запускать мою библиотеку. Как это правильно реализовать?
Т.е я хочу чтобы было так
MyCarousel('firstId');
MyCarousel('secondId');

Т. е надо просто реализовать библиотеку в виде функции? Как вообще быдут более правильно?
  • Вопрос задан
  • 111 просмотров
Решения вопроса 1
risentveber
@risentveber
fullstack web developer
Например, кешировать все объекты, которые вы инициализоровали в отдельном, скрытом в замыкании объекте и непосредственно работать с ними.
MyCarousel = (function(){
  elementsCache = {};
  
  function doInitJob(elem) {
    console.log("initializtion", elem); 
  };
  
  function doServiceJob(elem) {
    console.log("service", elem); 
  };
  
  return function(selector) {
    if (!elementsCashe[selector]) {
      elementsCashe[selector] = document.querySelector(selector);
      doInitJob(elementsCashe[selector]);
    } else {
      doServiceJob(elementsCashe[selector]);
    }
  }
})();
Ответ написан
Пригласить эксперта
Ваш ответ на вопрос

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

Похожие вопросы