簡體   English   中英

視差滾動中的實時調整大小

[英]real-time resizing in Parallax Scrolling

我在項目中使用了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”的元素將不會被覆蓋。
我該如何解決這個問題?

謝謝你的幫助。

根據以下要求
->調整瀏覽器大小時,然后實時重新計算元素位置(“不重新加載”頁面)
->因此,我將重新計算位置並將新位置覆蓋到元素。
->但是,使用data-stellar-ratio屬性的元素不能覆蓋新位置 。(注釋示例)
這是我的問題。 再次感謝您的幫助。

您的問題還不清楚。 但是,如果您希望更改data-stellar-ratio屬性,則可以這樣做。

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

element必須是jQuery對象。

給你參考

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

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM