Как использовать JQuery Isotope справа налево? - PullRequest
1 голос
/ 21 февраля 2011

Как я могу переопределить автоматическое выравнивание по левому краю в красивом-красивом jQuery Isotope ( Источник на GitHub )?

Спасибо!

Ответы [ 5 ]

3 голосов
/ 21 февраля 2011

У вас есть два варианта: перестроить логику компоновки Isotope или создать собственный режим компоновки.

Логика компоновки Isotope постепенно улучшается, чтобы использовать CSS-преобразования, когда они доступны, но возвращаться к верхнему / левому позиционированию. Поэтому, если вы передадите координаты x, y методу getPositionStyles, он вернется либо с { translate: [ x, y ] }, либо с { left: x; top: y }. Проблема с макетами справа налево состоит в том, что он будет работать с { right: x; top: y }, но он будет нарушать эквивалент преобразования CSS.

Построение собственного режима макета может быть более доступным маршрутом. В конце концов мне нужно написать документы о том, как разработать свой собственный режим макета. Но вы можете сделать это самостоятельно, прочитав источник. Вы обнаружите, что каждый режим макета разбит на 4 обязательных метода _layoutnameReset, _layoutnameLayout _layoutnameGetContainerSize и _layoutnameResize.

Я открыл проблему на GitHub , чтобы вы могли отслеживать статус по этому запросу функции.

1 голос
/ 20 декабря 2013

иногда коммерческие темы (в моем случае тема WordPress) включают изотоп jquery, а затем, чтобы сделать его справа налево, вам нужно внести эти изменения в другой файл - нужно было изменить не jquery.isotope.js, а jquery.isotope.min.js file.

1 Сначала используйте find для поиска терминов (ctrl f) "positionAbs" вы найдете

"_ positionAbs: function (a, b) {return{left: a, top: b} "замените его этим

" _ positionAbs: function (a, b) {return {right: a, top: b} "

2 используйте findдля поиска терминов (ctrl f) «transformsEnabled» вы найдете «transformsEnabled:! 0» замените его следующим:

»transformsEnabled:! 1"

3 измените стиль CSS, как упомянутов предыдущих ответах.

0 голосов
/ 20 апреля 2016

сначала: вы должны выбрать тег isotop, затем isOriginLeft: false

, например: $ (". IsotopeContainer"). Isotope ({isOriginLeft: false});

0 голосов
/ 03 августа 2015

в файле jquery.isotop.min.js просто замените:

this.usingTransforms&&(d.left=0,d.top=0)

с:

this.usingTransforms&&(d.right=0,d.top=0)

И

translate3d("+a[0]+"px, "+a[1]+"px, 0),
translate("+a[0]+"px, "+a[1]+"px)

с:

translate3d("+(-a[0])+"px, "+a[1]+"px, 0)
translate("+(-a[0])+"px, "+a[1]+"px)
0 голосов
/ 08 мая 2015

просто измените 3 строки изотопного пакета по методу Item.prototype.getPosition

  1. строка 1639 от «слева направо» до «справа налево»
  2. строка 1663 от "слева направо" до "справа налево"
  3. строка 1664 от «справа налево» до «слева направо»

если не нашел его в тех же строках, просто поищите Item.prototype.getPosition вот и все будет работать

...