我在我的项目中使用了 stellar.js 。
有一个问题 - 在“实时调整大小”要求下(不重新加载页面)。
当我使用调整大小功能在水平滚动中计算新位置 LEFT 时:
$(window).resize(function(){
var newPos = element.position().left*100; //Get NEW Position ...
element.css("left", newPos); //It's not working ...
});
“data-stellar-ratio”的元素不会被覆盖
我该怎么做才能解决这个问题?
谢谢你的帮助。
根据以下要求
- >调整浏览器大小时,然后实时重新计算元素位置(NO Reload页面)
- >所以,我将重新计算位置并覆盖元素的新位置。
- >但是,使用data-stellar-ratio属性的元素不能覆盖新位置。(注释中的示例)
这是我的问题。再次感谢您的帮助。
答案 0 :(得分:0)
你的问题很不清楚。但是,如果您希望更改data-stellar-ratio属性,则可以这样做。
element.attr('data-stellar-ratio', 2);
element
必须是jQuery对象。
答案 1 :(得分:0)
您参考
_repositionElements:stellar.js中的function()
if (this.options.horizontalScrolling) {
var bSize = this.options.refWidth,bResize = $(window).width(),bRatio = this.options.formula(bResize, bSize);
newPositionLeft = (scrollLeft + particle.horizontalOffset + this.viewportOffsetLeft + particle.startingPositionLeft - particle.startingOffsetLeft + particle.parentOffsetLeft) * -(particle.stellarRatio + fixedRatioOffset - 1) + particle.startingPositionLeft;
newPositionLeft *= bRatio; //all element reposition in here
newOffsetLeft = newPositionLeft - particle.startingPositionLeft + particle.startingOffsetLeft;
}
bSize =在之前调整浏览器大小
bResize =在调整后调整浏览器大小
bRatio =调整比例
newPositionLfet =所有元素位置左侧
newPositionTop =与 newPositionLeft相同