Задать вопрос
ShadowOfCasper
@ShadowOfCasper
Middle User Interface Web Developer

Как применить baronjs multiple instance?

"baron": "^3.0.3"
"browserify": "~13.0.1"

Я хочу завернуть все таблицы на странице в обёртку с горизонтальным скроллом. Сделал обёртку, каждой дал id и функцию с вызовом baronjs.
require находит модуль (typeof function)
baron = require('baron');
  module.wrap("<div class='baron baron__root baron__clipper _scroller'> <div class='baron__scroller'></div> </div>");
  $(".baron").append('<div class="baron__track"> <div class="baron__free"> <div class="baron__bar"></div> </div> </div>');
  thisBaron = module.parents(".baron");
  initBaron = function(el, options) {
    console.log($(el));
    return $(el).baron({
      cssGuru: true,
      root: '.baron__clipper',
      scroller: '.baron__scroller',
      bar: '.baron__bar',
      scrollingCls: '_scrolling',
      draggingCls: '_dragging',
      direction: options.direction,
      clickable: true
    });
  };
  thisBaron.each(function(i) {
    thisBaron.attr({
      "id": "baron-" + i
    });
    return initBaron("#baron-" + i, {
      direction: 'h',
      iteration: i
    });
  });

Этот код вызывает ошибку в $(el).baron - is not a function.
Если же вызывать библиотеку без применения на контекст, то срабатывает первый instance в цикле:
initBaron = function(el, options) {
    return baron({
      cssGuru: true,
      root: '.baron__clipper',
      scroller: '.baron__scroller',
      bar: '.baron__bar',
      scrollingCls: '_scrolling',
      draggingCls: '_dragging',
      direction: options.direction,
      clickable: true
    });
  };

Я пробовал document.querySelector(el).baron и тоже not a function. Пробовал call и apply:
`baron.call($(el), {...})`
Получил typeError: Right-hand side of 'instanceof' is not an object

В документации сказано, что нужно вызвать в идеале как метод для $('id').baron({..}) для multiple instance.
https://github.com/Diokuz/baron/blob/master/docs/l...

Пробовал реквайрить по разному:
require('baron')($)
require('baron')

Тоже не получается. В чём может быть проблема?
  • Вопрос задан
  • 99 просмотров
Подписаться 2 Средний Комментировать
Пригласить эксперта
Ваш ответ на вопрос

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

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