如何从右到左使用jQuery Isotope?
如何在美丽的jQuery Isotope ( GitHub上的源代码 )中覆盖自动左对齐?
谢谢!
您有两种选择:重新设计Isotope的布局逻辑,或构建您自己的布局模式。
Isotope的布局逻辑逐渐增强,以便在可用时使用CSS变换,但可以回退到顶部/左侧定位。 因此,如果将坐标x,y传递给getPositionStyles
方法,它将返回{ translate: [ x, y ] }
或{ left: x; top: y }
{ left: x; top: y }
。 从右到左布局的问题在于它可以使用{ right: x; top: y }
{ right: x; top: y }
,但它会与CSS转换相当。
构建自己的布局模式可能是更容易访问的路线。 最后,我需要编写关于如何开发自己的自定义布局模式的文档。 但是你可以通过阅读源代码来自己完成。 您会发现每种布局模式都分为4个必需的方法_layoutnameReset
, _layoutnameLayout
_layoutnameGetContainerSize
和_layoutnameResize
。
我在GitHub上打开了一个问题,因此您可以跟踪此function请求的状态。
有时商业主题(在我的例子中是一个wordpress主题)包括jquery同位素,然后为了使它向右,你需要在另一个文件中进行这些更改 – 不得不改变jquery.isotope.js而不是jquery.isotope。 min.js文件。
1首先使用find来搜索你会发现的术语(ctrl f)“positionAbs”
“_positionAbs:function(a,b){return {left:a,top:b}”将其替换为此
“_positionAbs:function(A,B){返回{右:一,顶:B}”
2使用find来搜索术语(ctrl f)“transformsEnabled”你会发现“transformsEnabled:!0”用它替换它
“transformsEnabled:!1”
3改变前面答案中提到的样式css。
只需在方法Item.prototype.getPosition
更改3行同位素包
- 1639行从“从左到右”到“从右到左”
- 1663行从“从左到右”到“从右到左”
- 1664行从“从右到左”到“从左到右”
如果没有在相同的行找到它只搜索Item.prototype.getPosition
那就是它,它会工作
在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)
第一:你必须selet isotop tag然后isOriginLeft:false
例如:$(“。isotopeContainer”)。isotope({isOriginLeft:false});