0

我在我的项目中使用了stellar.js
有一个问题 - 在“实时调整大小”要求下(不要重新加载页面)。当我使用resize 函数在下面的水平滚动中计算新位置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 page)
-> 所以,我将重新计算位置并将新位置覆盖到元素。
-> 但是,使用 data-stellar-ratio 属性的元素不能覆盖新位置。(评论中的示例)
这是我的问题。再次感谢您的帮助。

4

2 回答 2

0

你的问题很不清楚。但是,如果您希望更改 data-stellar-ratio 属性,您可以这样做。

element.attr('data-stellar-ratio', 2);

element必须是一个 jQuery 对象。

于 2013-10-17T15:09:02.550 回答
0

给你参考

_repositionElements: function() in stellar.js

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相同



于 2013-11-05T07:37:51.053 回答